diff options
author | dakovalkov <dakovalkov@yandex-team.com> | 2023-12-03 13:33:55 +0300 |
---|---|---|
committer | dakovalkov <dakovalkov@yandex-team.com> | 2023-12-03 14:04:39 +0300 |
commit | 2a718325637e5302334b6d0a6430f63168f8dbb3 (patch) | |
tree | 64be81080b7df9ec1d86d053a0c394ae53fcf1fe /contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3 | |
parent | e0d94a470142d95c3007e9c5d80380994940664a (diff) | |
download | ydb-2a718325637e5302334b6d0a6430f63168f8dbb3.tar.gz |
Update contrib/libs/aws-sdk-cpp to 1.11.37
Diffstat (limited to 'contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3')
451 files changed, 31227 insertions, 20398 deletions
diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.darwin-arm64.txt b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.darwin-arm64.txt index 1b1705649a..42e8df4fa8 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.darwin-arm64.txt +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.darwin-arm64.txt @@ -9,29 +9,41 @@ add_library(libs-aws-sdk-cpp-aws-cpp-sdk-s3) target_compile_options(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE + -DAWS_AUTH_USE_IMPORT_EXPORT -DAWS_CAL_USE_IMPORT_EXPORT -DAWS_CHECKSUMS_USE_IMPORT_EXPORT -DAWS_COMMON_USE_IMPORT_EXPORT + -DAWS_COMPRESSION_USE_IMPORT_EXPORT + -DAWS_CRT_CPP_USE_IMPORT_EXPORT -DAWS_EVENT_STREAM_USE_IMPORT_EXPORT + -DAWS_HTTP_USE_IMPORT_EXPORT -DAWS_IO_USE_IMPORT_EXPORT + -DAWS_MQTT_USE_IMPORT_EXPORT + -DAWS_MQTT_WITH_WEBSOCKETS + -DAWS_S3_USE_IMPORT_EXPORT + -DAWS_SDKUTILS_USE_IMPORT_EXPORT -DAWS_SDK_VERSION_MAJOR=1 - -DAWS_SDK_VERSION_MINOR=8 - -DAWS_SDK_VERSION_PATCH=186 + -DAWS_SDK_VERSION_MINOR=11 + -DAWS_SDK_VERSION_PATCH=37 + -DAWS_TEST_REGION=US_EAST_1 -DAWS_USE_EPOLL + -DENABLED_REQUEST_COMPRESSION + -DENABLED_ZLIB_REQUEST_COMPRESSION -DENABLE_CURL_CLIENT -DENABLE_OPENSSL_ENCRYPTION -DHAS_PATHCONF -DHAS_UMASK - -DS2N_ADX - -DS2N_BIKE_R3_AVX2 - -DS2N_BIKE_R3_AVX512 - -DS2N_BIKE_R3_PCLMUL - -DS2N_BIKE_R3_VPCLMUL + -DS2N_CLONE_SUPPORTED -DS2N_CPUID_AVAILABLE -DS2N_FALL_THROUGH_SUPPORTED - -DS2N_HAVE_EXECINFO + -DS2N_FEATURES_AVAILABLE -DS2N_KYBER512R3_AVX2_BMI2 - -DS2N_SIKE_P434_R3_ASM + -DS2N_LIBCRYPTO_SUPPORTS_EVP_MD5_SHA1_HASH + -DS2N_LIBCRYPTO_SUPPORTS_EVP_MD_CTX_SET_PKEY_CTX + -DS2N_LIBCRYPTO_SUPPORTS_EVP_RC4 + -DS2N_MADVISE_SUPPORTED + -DS2N_PLATFORM_SUPPORTS_KTLS + -DS2N_STACKTRACE -DS2N___RESTRICT__SUPPORTED $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything> ) @@ -44,15 +56,22 @@ target_include_directories(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE target_link_libraries(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PUBLIC contrib-libs-cxxsupp libs-aws-sdk-cpp-aws-cpp-sdk-core + restricted-aws-aws-c-auth restricted-aws-aws-c-common restricted-aws-aws-c-event-stream + restricted-aws-aws-c-io + restricted-aws-aws-c-mqtt + restricted-aws-aws-c-sdkutils + restricted-aws-aws-crt-cpp ) target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE - ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ARN.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Client.cpp - ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Endpoint.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ClientConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3EndpointProvider.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3EndpointRules.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ErrorMarshaller.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Errors.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Request.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortIncompleteMultipartUpload.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortMultipartUploadRequest.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortMultipartUploadResult.cpp @@ -78,6 +97,9 @@ target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CORSRule.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CSVInput.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CSVOutput.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Checksum.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ChecksumAlgorithm.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ChecksumMode.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CloudFunctionConfiguration.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CommonPrefix.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CompleteMultipartUploadRequest.cpp @@ -128,6 +150,7 @@ target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Error.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ErrorDocument.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Event.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/EventBridgeConfiguration.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExistingObjectReplication.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExistingObjectReplicationStatus.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExpirationStatus.cpp @@ -177,6 +200,9 @@ target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketWebsiteResult.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAclRequest.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAclResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesParts.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesResult.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLegalHoldRequest.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLegalHoldResult.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLockConfigurationRequest.cpp @@ -261,6 +287,7 @@ target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfigurationDeprecated.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfigurationFilter.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Object.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectAttributes.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectCannedACL.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectIdentifier.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockConfiguration.cpp @@ -272,6 +299,7 @@ target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockRetentionMode.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockRule.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectOwnership.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectPart.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectStorageClass.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectVersion.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectVersionStorageClass.cpp diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.darwin-x86_64.txt b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.darwin-x86_64.txt index 1b1705649a..42e8df4fa8 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.darwin-x86_64.txt +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.darwin-x86_64.txt @@ -9,29 +9,41 @@ add_library(libs-aws-sdk-cpp-aws-cpp-sdk-s3) target_compile_options(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE + -DAWS_AUTH_USE_IMPORT_EXPORT -DAWS_CAL_USE_IMPORT_EXPORT -DAWS_CHECKSUMS_USE_IMPORT_EXPORT -DAWS_COMMON_USE_IMPORT_EXPORT + -DAWS_COMPRESSION_USE_IMPORT_EXPORT + -DAWS_CRT_CPP_USE_IMPORT_EXPORT -DAWS_EVENT_STREAM_USE_IMPORT_EXPORT + -DAWS_HTTP_USE_IMPORT_EXPORT -DAWS_IO_USE_IMPORT_EXPORT + -DAWS_MQTT_USE_IMPORT_EXPORT + -DAWS_MQTT_WITH_WEBSOCKETS + -DAWS_S3_USE_IMPORT_EXPORT + -DAWS_SDKUTILS_USE_IMPORT_EXPORT -DAWS_SDK_VERSION_MAJOR=1 - -DAWS_SDK_VERSION_MINOR=8 - -DAWS_SDK_VERSION_PATCH=186 + -DAWS_SDK_VERSION_MINOR=11 + -DAWS_SDK_VERSION_PATCH=37 + -DAWS_TEST_REGION=US_EAST_1 -DAWS_USE_EPOLL + -DENABLED_REQUEST_COMPRESSION + -DENABLED_ZLIB_REQUEST_COMPRESSION -DENABLE_CURL_CLIENT -DENABLE_OPENSSL_ENCRYPTION -DHAS_PATHCONF -DHAS_UMASK - -DS2N_ADX - -DS2N_BIKE_R3_AVX2 - -DS2N_BIKE_R3_AVX512 - -DS2N_BIKE_R3_PCLMUL - -DS2N_BIKE_R3_VPCLMUL + -DS2N_CLONE_SUPPORTED -DS2N_CPUID_AVAILABLE -DS2N_FALL_THROUGH_SUPPORTED - -DS2N_HAVE_EXECINFO + -DS2N_FEATURES_AVAILABLE -DS2N_KYBER512R3_AVX2_BMI2 - -DS2N_SIKE_P434_R3_ASM + -DS2N_LIBCRYPTO_SUPPORTS_EVP_MD5_SHA1_HASH + -DS2N_LIBCRYPTO_SUPPORTS_EVP_MD_CTX_SET_PKEY_CTX + -DS2N_LIBCRYPTO_SUPPORTS_EVP_RC4 + -DS2N_MADVISE_SUPPORTED + -DS2N_PLATFORM_SUPPORTS_KTLS + -DS2N_STACKTRACE -DS2N___RESTRICT__SUPPORTED $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything> ) @@ -44,15 +56,22 @@ target_include_directories(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE target_link_libraries(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PUBLIC contrib-libs-cxxsupp libs-aws-sdk-cpp-aws-cpp-sdk-core + restricted-aws-aws-c-auth restricted-aws-aws-c-common restricted-aws-aws-c-event-stream + restricted-aws-aws-c-io + restricted-aws-aws-c-mqtt + restricted-aws-aws-c-sdkutils + restricted-aws-aws-crt-cpp ) target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE - ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ARN.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Client.cpp - ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Endpoint.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ClientConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3EndpointProvider.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3EndpointRules.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ErrorMarshaller.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Errors.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Request.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortIncompleteMultipartUpload.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortMultipartUploadRequest.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortMultipartUploadResult.cpp @@ -78,6 +97,9 @@ target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CORSRule.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CSVInput.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CSVOutput.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Checksum.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ChecksumAlgorithm.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ChecksumMode.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CloudFunctionConfiguration.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CommonPrefix.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CompleteMultipartUploadRequest.cpp @@ -128,6 +150,7 @@ target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Error.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ErrorDocument.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Event.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/EventBridgeConfiguration.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExistingObjectReplication.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExistingObjectReplicationStatus.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExpirationStatus.cpp @@ -177,6 +200,9 @@ target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketWebsiteResult.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAclRequest.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAclResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesParts.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesResult.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLegalHoldRequest.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLegalHoldResult.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLockConfigurationRequest.cpp @@ -261,6 +287,7 @@ target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfigurationDeprecated.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfigurationFilter.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Object.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectAttributes.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectCannedACL.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectIdentifier.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockConfiguration.cpp @@ -272,6 +299,7 @@ target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockRetentionMode.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockRule.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectOwnership.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectPart.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectStorageClass.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectVersion.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectVersionStorageClass.cpp diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.linux-aarch64.txt b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.linux-aarch64.txt index 114aa69426..2fdc7856d5 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.linux-aarch64.txt +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.linux-aarch64.txt @@ -9,29 +9,41 @@ add_library(libs-aws-sdk-cpp-aws-cpp-sdk-s3) target_compile_options(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE + -DAWS_AUTH_USE_IMPORT_EXPORT -DAWS_CAL_USE_IMPORT_EXPORT -DAWS_CHECKSUMS_USE_IMPORT_EXPORT -DAWS_COMMON_USE_IMPORT_EXPORT + -DAWS_COMPRESSION_USE_IMPORT_EXPORT + -DAWS_CRT_CPP_USE_IMPORT_EXPORT -DAWS_EVENT_STREAM_USE_IMPORT_EXPORT + -DAWS_HTTP_USE_IMPORT_EXPORT -DAWS_IO_USE_IMPORT_EXPORT + -DAWS_MQTT_USE_IMPORT_EXPORT + -DAWS_MQTT_WITH_WEBSOCKETS + -DAWS_S3_USE_IMPORT_EXPORT + -DAWS_SDKUTILS_USE_IMPORT_EXPORT -DAWS_SDK_VERSION_MAJOR=1 - -DAWS_SDK_VERSION_MINOR=8 - -DAWS_SDK_VERSION_PATCH=186 + -DAWS_SDK_VERSION_MINOR=11 + -DAWS_SDK_VERSION_PATCH=37 + -DAWS_TEST_REGION=US_EAST_1 -DAWS_USE_EPOLL + -DENABLED_REQUEST_COMPRESSION + -DENABLED_ZLIB_REQUEST_COMPRESSION -DENABLE_CURL_CLIENT -DENABLE_OPENSSL_ENCRYPTION -DHAS_PATHCONF -DHAS_UMASK - -DS2N_ADX - -DS2N_BIKE_R3_AVX2 - -DS2N_BIKE_R3_AVX512 - -DS2N_BIKE_R3_PCLMUL - -DS2N_BIKE_R3_VPCLMUL + -DS2N_CLONE_SUPPORTED -DS2N_CPUID_AVAILABLE -DS2N_FALL_THROUGH_SUPPORTED - -DS2N_HAVE_EXECINFO + -DS2N_FEATURES_AVAILABLE -DS2N_KYBER512R3_AVX2_BMI2 - -DS2N_SIKE_P434_R3_ASM + -DS2N_LIBCRYPTO_SUPPORTS_EVP_MD5_SHA1_HASH + -DS2N_LIBCRYPTO_SUPPORTS_EVP_MD_CTX_SET_PKEY_CTX + -DS2N_LIBCRYPTO_SUPPORTS_EVP_RC4 + -DS2N_MADVISE_SUPPORTED + -DS2N_PLATFORM_SUPPORTS_KTLS + -DS2N_STACKTRACE -DS2N___RESTRICT__SUPPORTED $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything> ) @@ -45,15 +57,22 @@ target_link_libraries(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PUBLIC contrib-libs-linux-headers contrib-libs-cxxsupp libs-aws-sdk-cpp-aws-cpp-sdk-core + restricted-aws-aws-c-auth restricted-aws-aws-c-common restricted-aws-aws-c-event-stream + restricted-aws-aws-c-io + restricted-aws-aws-c-mqtt + restricted-aws-aws-c-sdkutils + restricted-aws-aws-crt-cpp ) target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE - ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ARN.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Client.cpp - ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Endpoint.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ClientConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3EndpointProvider.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3EndpointRules.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ErrorMarshaller.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Errors.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Request.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortIncompleteMultipartUpload.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortMultipartUploadRequest.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortMultipartUploadResult.cpp @@ -79,6 +98,9 @@ target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CORSRule.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CSVInput.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CSVOutput.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Checksum.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ChecksumAlgorithm.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ChecksumMode.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CloudFunctionConfiguration.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CommonPrefix.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CompleteMultipartUploadRequest.cpp @@ -129,6 +151,7 @@ target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Error.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ErrorDocument.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Event.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/EventBridgeConfiguration.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExistingObjectReplication.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExistingObjectReplicationStatus.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExpirationStatus.cpp @@ -178,6 +201,9 @@ target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketWebsiteResult.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAclRequest.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAclResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesParts.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesResult.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLegalHoldRequest.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLegalHoldResult.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLockConfigurationRequest.cpp @@ -262,6 +288,7 @@ target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfigurationDeprecated.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfigurationFilter.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Object.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectAttributes.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectCannedACL.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectIdentifier.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockConfiguration.cpp @@ -273,6 +300,7 @@ target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockRetentionMode.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockRule.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectOwnership.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectPart.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectStorageClass.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectVersion.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectVersionStorageClass.cpp diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.linux-x86_64.txt b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.linux-x86_64.txt index 114aa69426..2fdc7856d5 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.linux-x86_64.txt +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.linux-x86_64.txt @@ -9,29 +9,41 @@ add_library(libs-aws-sdk-cpp-aws-cpp-sdk-s3) target_compile_options(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE + -DAWS_AUTH_USE_IMPORT_EXPORT -DAWS_CAL_USE_IMPORT_EXPORT -DAWS_CHECKSUMS_USE_IMPORT_EXPORT -DAWS_COMMON_USE_IMPORT_EXPORT + -DAWS_COMPRESSION_USE_IMPORT_EXPORT + -DAWS_CRT_CPP_USE_IMPORT_EXPORT -DAWS_EVENT_STREAM_USE_IMPORT_EXPORT + -DAWS_HTTP_USE_IMPORT_EXPORT -DAWS_IO_USE_IMPORT_EXPORT + -DAWS_MQTT_USE_IMPORT_EXPORT + -DAWS_MQTT_WITH_WEBSOCKETS + -DAWS_S3_USE_IMPORT_EXPORT + -DAWS_SDKUTILS_USE_IMPORT_EXPORT -DAWS_SDK_VERSION_MAJOR=1 - -DAWS_SDK_VERSION_MINOR=8 - -DAWS_SDK_VERSION_PATCH=186 + -DAWS_SDK_VERSION_MINOR=11 + -DAWS_SDK_VERSION_PATCH=37 + -DAWS_TEST_REGION=US_EAST_1 -DAWS_USE_EPOLL + -DENABLED_REQUEST_COMPRESSION + -DENABLED_ZLIB_REQUEST_COMPRESSION -DENABLE_CURL_CLIENT -DENABLE_OPENSSL_ENCRYPTION -DHAS_PATHCONF -DHAS_UMASK - -DS2N_ADX - -DS2N_BIKE_R3_AVX2 - -DS2N_BIKE_R3_AVX512 - -DS2N_BIKE_R3_PCLMUL - -DS2N_BIKE_R3_VPCLMUL + -DS2N_CLONE_SUPPORTED -DS2N_CPUID_AVAILABLE -DS2N_FALL_THROUGH_SUPPORTED - -DS2N_HAVE_EXECINFO + -DS2N_FEATURES_AVAILABLE -DS2N_KYBER512R3_AVX2_BMI2 - -DS2N_SIKE_P434_R3_ASM + -DS2N_LIBCRYPTO_SUPPORTS_EVP_MD5_SHA1_HASH + -DS2N_LIBCRYPTO_SUPPORTS_EVP_MD_CTX_SET_PKEY_CTX + -DS2N_LIBCRYPTO_SUPPORTS_EVP_RC4 + -DS2N_MADVISE_SUPPORTED + -DS2N_PLATFORM_SUPPORTS_KTLS + -DS2N_STACKTRACE -DS2N___RESTRICT__SUPPORTED $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything> ) @@ -45,15 +57,22 @@ target_link_libraries(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PUBLIC contrib-libs-linux-headers contrib-libs-cxxsupp libs-aws-sdk-cpp-aws-cpp-sdk-core + restricted-aws-aws-c-auth restricted-aws-aws-c-common restricted-aws-aws-c-event-stream + restricted-aws-aws-c-io + restricted-aws-aws-c-mqtt + restricted-aws-aws-c-sdkutils + restricted-aws-aws-crt-cpp ) target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE - ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ARN.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Client.cpp - ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Endpoint.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ClientConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3EndpointProvider.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3EndpointRules.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ErrorMarshaller.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Errors.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Request.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortIncompleteMultipartUpload.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortMultipartUploadRequest.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortMultipartUploadResult.cpp @@ -79,6 +98,9 @@ target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CORSRule.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CSVInput.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CSVOutput.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Checksum.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ChecksumAlgorithm.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ChecksumMode.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CloudFunctionConfiguration.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CommonPrefix.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CompleteMultipartUploadRequest.cpp @@ -129,6 +151,7 @@ target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Error.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ErrorDocument.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Event.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/EventBridgeConfiguration.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExistingObjectReplication.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExistingObjectReplicationStatus.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExpirationStatus.cpp @@ -178,6 +201,9 @@ target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketWebsiteResult.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAclRequest.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAclResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesParts.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesResult.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLegalHoldRequest.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLegalHoldResult.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLockConfigurationRequest.cpp @@ -262,6 +288,7 @@ target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfigurationDeprecated.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfigurationFilter.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Object.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectAttributes.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectCannedACL.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectIdentifier.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockConfiguration.cpp @@ -273,6 +300,7 @@ target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockRetentionMode.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockRule.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectOwnership.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectPart.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectStorageClass.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectVersion.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectVersionStorageClass.cpp diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.windows-x86_64.txt b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.windows-x86_64.txt index 1b1705649a..42e8df4fa8 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.windows-x86_64.txt +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.windows-x86_64.txt @@ -9,29 +9,41 @@ add_library(libs-aws-sdk-cpp-aws-cpp-sdk-s3) target_compile_options(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE + -DAWS_AUTH_USE_IMPORT_EXPORT -DAWS_CAL_USE_IMPORT_EXPORT -DAWS_CHECKSUMS_USE_IMPORT_EXPORT -DAWS_COMMON_USE_IMPORT_EXPORT + -DAWS_COMPRESSION_USE_IMPORT_EXPORT + -DAWS_CRT_CPP_USE_IMPORT_EXPORT -DAWS_EVENT_STREAM_USE_IMPORT_EXPORT + -DAWS_HTTP_USE_IMPORT_EXPORT -DAWS_IO_USE_IMPORT_EXPORT + -DAWS_MQTT_USE_IMPORT_EXPORT + -DAWS_MQTT_WITH_WEBSOCKETS + -DAWS_S3_USE_IMPORT_EXPORT + -DAWS_SDKUTILS_USE_IMPORT_EXPORT -DAWS_SDK_VERSION_MAJOR=1 - -DAWS_SDK_VERSION_MINOR=8 - -DAWS_SDK_VERSION_PATCH=186 + -DAWS_SDK_VERSION_MINOR=11 + -DAWS_SDK_VERSION_PATCH=37 + -DAWS_TEST_REGION=US_EAST_1 -DAWS_USE_EPOLL + -DENABLED_REQUEST_COMPRESSION + -DENABLED_ZLIB_REQUEST_COMPRESSION -DENABLE_CURL_CLIENT -DENABLE_OPENSSL_ENCRYPTION -DHAS_PATHCONF -DHAS_UMASK - -DS2N_ADX - -DS2N_BIKE_R3_AVX2 - -DS2N_BIKE_R3_AVX512 - -DS2N_BIKE_R3_PCLMUL - -DS2N_BIKE_R3_VPCLMUL + -DS2N_CLONE_SUPPORTED -DS2N_CPUID_AVAILABLE -DS2N_FALL_THROUGH_SUPPORTED - -DS2N_HAVE_EXECINFO + -DS2N_FEATURES_AVAILABLE -DS2N_KYBER512R3_AVX2_BMI2 - -DS2N_SIKE_P434_R3_ASM + -DS2N_LIBCRYPTO_SUPPORTS_EVP_MD5_SHA1_HASH + -DS2N_LIBCRYPTO_SUPPORTS_EVP_MD_CTX_SET_PKEY_CTX + -DS2N_LIBCRYPTO_SUPPORTS_EVP_RC4 + -DS2N_MADVISE_SUPPORTED + -DS2N_PLATFORM_SUPPORTS_KTLS + -DS2N_STACKTRACE -DS2N___RESTRICT__SUPPORTED $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything> ) @@ -44,15 +56,22 @@ target_include_directories(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE target_link_libraries(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PUBLIC contrib-libs-cxxsupp libs-aws-sdk-cpp-aws-cpp-sdk-core + restricted-aws-aws-c-auth restricted-aws-aws-c-common restricted-aws-aws-c-event-stream + restricted-aws-aws-c-io + restricted-aws-aws-c-mqtt + restricted-aws-aws-c-sdkutils + restricted-aws-aws-crt-cpp ) target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE - ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ARN.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Client.cpp - ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Endpoint.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ClientConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3EndpointProvider.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3EndpointRules.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ErrorMarshaller.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Errors.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Request.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortIncompleteMultipartUpload.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortMultipartUploadRequest.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortMultipartUploadResult.cpp @@ -78,6 +97,9 @@ target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CORSRule.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CSVInput.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CSVOutput.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Checksum.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ChecksumAlgorithm.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ChecksumMode.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CloudFunctionConfiguration.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CommonPrefix.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CompleteMultipartUploadRequest.cpp @@ -128,6 +150,7 @@ target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Error.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ErrorDocument.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Event.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/EventBridgeConfiguration.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExistingObjectReplication.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExistingObjectReplicationStatus.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExpirationStatus.cpp @@ -177,6 +200,9 @@ target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketWebsiteResult.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAclRequest.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAclResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesParts.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesResult.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLegalHoldRequest.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLegalHoldResult.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLockConfigurationRequest.cpp @@ -261,6 +287,7 @@ target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfigurationDeprecated.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfigurationFilter.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Object.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectAttributes.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectCannedACL.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectIdentifier.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockConfiguration.cpp @@ -272,6 +299,7 @@ target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockRetentionMode.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockRule.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectOwnership.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectPart.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectStorageClass.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectVersion.cpp ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectVersionStorageClass.cpp diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3ARN.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3ARN.h deleted file mode 100644 index 546f1582b7..0000000000 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3ARN.h +++ /dev/null @@ -1,64 +0,0 @@ -/** - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0. - */ - -#pragma once - -#include <aws/s3/S3_EXPORTS.h> - -#include <aws/core/client/AWSError.h> -#include <aws/core/utils/ARN.h> -#include <aws/s3/S3Errors.h> - -namespace Aws -{ - namespace Utils - { - template<typename R, typename E> class Outcome; - } - - namespace S3 - { - namespace ARNService - { - static const char S3[] = "s3"; - static const char S3_OUTPOSTS[] = "s3-outposts"; - static const char S3_OBJECT_LAMBDA[] = "s3-object-lambda"; - } - - namespace ARNResourceType - { - static const char ACCESSPOINT[] = "accesspoint"; - static const char OUTPOST[] = "outpost"; - } - - typedef Aws::Utils::Outcome<bool, Aws::Client::AWSError<S3Errors>> S3ARNOutcome; - - class AWS_S3_API S3ARN : public Aws::Utils::ARN - { - public: - S3ARN(const Aws::String& arn); - - const Aws::String& GetResourceType() const { return m_resourceType; } - const Aws::String& GetResourceId() const { return m_resourceId; } - const Aws::String& GetSubResourceType() const { return m_subResourceType; } - const Aws::String& GetSubResourceId() const { return m_subResourceId; } - const Aws::String& GetResourceQualifier() const { return m_resourceQualifier; } - - // Check if S3ARN is valid. - S3ARNOutcome Validate() const; - // Check if S3ARN is valid, and especially, ARN region should match the region specified. - S3ARNOutcome Validate(const char* region) const; - - private: - void ParseARNResource(); - - Aws::String m_resourceType; - Aws::String m_resourceId; - Aws::String m_subResourceType; - Aws::String m_subResourceId; - Aws::String m_resourceQualifier; - }; - } -} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Client.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Client.h index 5b3d798fcf..6d66c3b6c9 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Client.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Client.h @@ -5,393 +5,25 @@ #pragma once #include <aws/s3/S3_EXPORTS.h> -#include <aws/s3/S3Errors.h> -#include <aws/core/client/AWSError.h> #include <aws/core/client/ClientConfiguration.h> #include <aws/core/client/AWSClient.h> +#include <aws/core/client/AWSClientAsyncCRTP.h> #include <aws/core/auth/AWSAuthSigner.h> -#include <aws/core/utils/memory/stl/AWSString.h> #include <aws/core/utils/xml/XmlSerializer.h> #include <aws/core/utils/DNS.h> -#include <aws/s3/model/AbortMultipartUploadResult.h> -#include <aws/s3/model/CompleteMultipartUploadResult.h> -#include <aws/s3/model/CopyObjectResult.h> -#include <aws/s3/model/CreateBucketResult.h> -#include <aws/s3/model/CreateMultipartUploadResult.h> -#include <aws/s3/model/DeleteObjectResult.h> -#include <aws/s3/model/DeleteObjectTaggingResult.h> -#include <aws/s3/model/DeleteObjectsResult.h> -#include <aws/s3/model/GetBucketAccelerateConfigurationResult.h> -#include <aws/s3/model/GetBucketAclResult.h> -#include <aws/s3/model/GetBucketAnalyticsConfigurationResult.h> -#include <aws/s3/model/GetBucketCorsResult.h> -#include <aws/s3/model/GetBucketEncryptionResult.h> -#include <aws/s3/model/GetBucketIntelligentTieringConfigurationResult.h> -#include <aws/s3/model/GetBucketInventoryConfigurationResult.h> -#include <aws/s3/model/GetBucketLifecycleConfigurationResult.h> -#include <aws/s3/model/GetBucketLocationResult.h> -#include <aws/s3/model/GetBucketLoggingResult.h> -#include <aws/s3/model/GetBucketMetricsConfigurationResult.h> -#include <aws/s3/model/GetBucketNotificationConfigurationResult.h> -#include <aws/s3/model/GetBucketOwnershipControlsResult.h> -#include <aws/s3/model/GetBucketPolicyResult.h> -#include <aws/s3/model/GetBucketPolicyStatusResult.h> -#include <aws/s3/model/GetBucketReplicationResult.h> -#include <aws/s3/model/GetBucketRequestPaymentResult.h> -#include <aws/s3/model/GetBucketTaggingResult.h> -#include <aws/s3/model/GetBucketVersioningResult.h> -#include <aws/s3/model/GetBucketWebsiteResult.h> -#include <aws/s3/model/GetObjectResult.h> -#include <aws/s3/model/GetObjectAclResult.h> -#include <aws/s3/model/GetObjectLegalHoldResult.h> -#include <aws/s3/model/GetObjectLockConfigurationResult.h> -#include <aws/s3/model/GetObjectRetentionResult.h> -#include <aws/s3/model/GetObjectTaggingResult.h> -#include <aws/s3/model/GetObjectTorrentResult.h> -#include <aws/s3/model/GetPublicAccessBlockResult.h> -#include <aws/s3/model/HeadObjectResult.h> -#include <aws/s3/model/ListBucketAnalyticsConfigurationsResult.h> -#include <aws/s3/model/ListBucketIntelligentTieringConfigurationsResult.h> -#include <aws/s3/model/ListBucketInventoryConfigurationsResult.h> -#include <aws/s3/model/ListBucketMetricsConfigurationsResult.h> -#include <aws/s3/model/ListBucketsResult.h> -#include <aws/s3/model/ListMultipartUploadsResult.h> -#include <aws/s3/model/ListObjectVersionsResult.h> -#include <aws/s3/model/ListObjectsResult.h> -#include <aws/s3/model/ListObjectsV2Result.h> -#include <aws/s3/model/ListPartsResult.h> -#include <aws/s3/model/PutObjectResult.h> -#include <aws/s3/model/PutObjectAclResult.h> -#include <aws/s3/model/PutObjectLegalHoldResult.h> -#include <aws/s3/model/PutObjectLockConfigurationResult.h> -#include <aws/s3/model/PutObjectRetentionResult.h> -#include <aws/s3/model/PutObjectTaggingResult.h> -#include <aws/s3/model/RestoreObjectResult.h> -#include <aws/s3/model/UploadPartResult.h> -#include <aws/s3/model/UploadPartCopyResult.h> -#include <aws/core/NoResult.h> -#include <aws/core/client/AsyncCallerContext.h> -#include <aws/core/http/HttpTypes.h> -#include <future> -#include <functional> -namespace Aws -{ - - namespace Http - { - class HttpClient; - class HttpClientFactory; - } // namespace Http - - namespace Utils - { - template< typename R, typename E> class Outcome; - - namespace Threading - { - class Executor; - } // namespace Threading - - namespace Xml - { - class XmlDocument; - } // namespace Xml - } // namespace Utils +#include <aws/s3/S3ServiceClientModel.h> - namespace Auth - { - class AWSCredentials; - class AWSCredentialsProvider; - } // namespace Auth - - namespace Client - { - class RetryStrategy; - } // namespace Client +// TODO: temporary fix for naming conflicts on Windows. +#ifdef _WIN32 +#ifdef GetObject +#undef GetObject +#endif +#endif +namespace Aws +{ namespace S3 { - namespace Model - { - class AbortMultipartUploadRequest; - class CompleteMultipartUploadRequest; - class CopyObjectRequest; - class CreateBucketRequest; - class CreateMultipartUploadRequest; - class DeleteBucketRequest; - class DeleteBucketAnalyticsConfigurationRequest; - class DeleteBucketCorsRequest; - class DeleteBucketEncryptionRequest; - class DeleteBucketIntelligentTieringConfigurationRequest; - class DeleteBucketInventoryConfigurationRequest; - class DeleteBucketLifecycleRequest; - class DeleteBucketMetricsConfigurationRequest; - class DeleteBucketOwnershipControlsRequest; - class DeleteBucketPolicyRequest; - class DeleteBucketReplicationRequest; - class DeleteBucketTaggingRequest; - class DeleteBucketWebsiteRequest; - class DeleteObjectRequest; - class DeleteObjectTaggingRequest; - class DeleteObjectsRequest; - class DeletePublicAccessBlockRequest; - class GetBucketAccelerateConfigurationRequest; - class GetBucketAclRequest; - class GetBucketAnalyticsConfigurationRequest; - class GetBucketCorsRequest; - class GetBucketEncryptionRequest; - class GetBucketIntelligentTieringConfigurationRequest; - class GetBucketInventoryConfigurationRequest; - class GetBucketLifecycleConfigurationRequest; - class GetBucketLocationRequest; - class GetBucketLoggingRequest; - class GetBucketMetricsConfigurationRequest; - class GetBucketNotificationConfigurationRequest; - class GetBucketOwnershipControlsRequest; - class GetBucketPolicyRequest; - class GetBucketPolicyStatusRequest; - class GetBucketReplicationRequest; - class GetBucketRequestPaymentRequest; - class GetBucketTaggingRequest; - class GetBucketVersioningRequest; - class GetBucketWebsiteRequest; - class GetObjectRequest; - class GetObjectAclRequest; - class GetObjectLegalHoldRequest; - class GetObjectLockConfigurationRequest; - class GetObjectRetentionRequest; - class GetObjectTaggingRequest; - class GetObjectTorrentRequest; - class GetPublicAccessBlockRequest; - class HeadBucketRequest; - class HeadObjectRequest; - class ListBucketAnalyticsConfigurationsRequest; - class ListBucketIntelligentTieringConfigurationsRequest; - class ListBucketInventoryConfigurationsRequest; - class ListBucketMetricsConfigurationsRequest; - class ListMultipartUploadsRequest; - class ListObjectVersionsRequest; - class ListObjectsRequest; - class ListObjectsV2Request; - class ListPartsRequest; - class PutBucketAccelerateConfigurationRequest; - class PutBucketAclRequest; - class PutBucketAnalyticsConfigurationRequest; - class PutBucketCorsRequest; - class PutBucketEncryptionRequest; - class PutBucketIntelligentTieringConfigurationRequest; - class PutBucketInventoryConfigurationRequest; - class PutBucketLifecycleConfigurationRequest; - class PutBucketLoggingRequest; - class PutBucketMetricsConfigurationRequest; - class PutBucketNotificationConfigurationRequest; - class PutBucketOwnershipControlsRequest; - class PutBucketPolicyRequest; - class PutBucketReplicationRequest; - class PutBucketRequestPaymentRequest; - class PutBucketTaggingRequest; - class PutBucketVersioningRequest; - class PutBucketWebsiteRequest; - class PutObjectRequest; - class PutObjectAclRequest; - class PutObjectLegalHoldRequest; - class PutObjectLockConfigurationRequest; - class PutObjectRetentionRequest; - class PutObjectTaggingRequest; - class PutPublicAccessBlockRequest; - class RestoreObjectRequest; - class SelectObjectContentRequest; - class UploadPartRequest; - class UploadPartCopyRequest; - class WriteGetObjectResponseRequest; - - typedef Aws::Utils::Outcome<AbortMultipartUploadResult, S3Error> AbortMultipartUploadOutcome; - typedef Aws::Utils::Outcome<CompleteMultipartUploadResult, S3Error> CompleteMultipartUploadOutcome; - typedef Aws::Utils::Outcome<CopyObjectResult, S3Error> CopyObjectOutcome; - typedef Aws::Utils::Outcome<CreateBucketResult, S3Error> CreateBucketOutcome; - typedef Aws::Utils::Outcome<CreateMultipartUploadResult, S3Error> CreateMultipartUploadOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketAnalyticsConfigurationOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketCorsOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketEncryptionOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketIntelligentTieringConfigurationOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketInventoryConfigurationOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketLifecycleOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketMetricsConfigurationOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketOwnershipControlsOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketPolicyOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketReplicationOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketTaggingOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketWebsiteOutcome; - typedef Aws::Utils::Outcome<DeleteObjectResult, S3Error> DeleteObjectOutcome; - typedef Aws::Utils::Outcome<DeleteObjectTaggingResult, S3Error> DeleteObjectTaggingOutcome; - typedef Aws::Utils::Outcome<DeleteObjectsResult, S3Error> DeleteObjectsOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeletePublicAccessBlockOutcome; - typedef Aws::Utils::Outcome<GetBucketAccelerateConfigurationResult, S3Error> GetBucketAccelerateConfigurationOutcome; - typedef Aws::Utils::Outcome<GetBucketAclResult, S3Error> GetBucketAclOutcome; - typedef Aws::Utils::Outcome<GetBucketAnalyticsConfigurationResult, S3Error> GetBucketAnalyticsConfigurationOutcome; - typedef Aws::Utils::Outcome<GetBucketCorsResult, S3Error> GetBucketCorsOutcome; - typedef Aws::Utils::Outcome<GetBucketEncryptionResult, S3Error> GetBucketEncryptionOutcome; - typedef Aws::Utils::Outcome<GetBucketIntelligentTieringConfigurationResult, S3Error> GetBucketIntelligentTieringConfigurationOutcome; - typedef Aws::Utils::Outcome<GetBucketInventoryConfigurationResult, S3Error> GetBucketInventoryConfigurationOutcome; - typedef Aws::Utils::Outcome<GetBucketLifecycleConfigurationResult, S3Error> GetBucketLifecycleConfigurationOutcome; - typedef Aws::Utils::Outcome<GetBucketLocationResult, S3Error> GetBucketLocationOutcome; - typedef Aws::Utils::Outcome<GetBucketLoggingResult, S3Error> GetBucketLoggingOutcome; - typedef Aws::Utils::Outcome<GetBucketMetricsConfigurationResult, S3Error> GetBucketMetricsConfigurationOutcome; - typedef Aws::Utils::Outcome<GetBucketNotificationConfigurationResult, S3Error> GetBucketNotificationConfigurationOutcome; - typedef Aws::Utils::Outcome<GetBucketOwnershipControlsResult, S3Error> GetBucketOwnershipControlsOutcome; - typedef Aws::Utils::Outcome<GetBucketPolicyResult, S3Error> GetBucketPolicyOutcome; - typedef Aws::Utils::Outcome<GetBucketPolicyStatusResult, S3Error> GetBucketPolicyStatusOutcome; - typedef Aws::Utils::Outcome<GetBucketReplicationResult, S3Error> GetBucketReplicationOutcome; - typedef Aws::Utils::Outcome<GetBucketRequestPaymentResult, S3Error> GetBucketRequestPaymentOutcome; - typedef Aws::Utils::Outcome<GetBucketTaggingResult, S3Error> GetBucketTaggingOutcome; - typedef Aws::Utils::Outcome<GetBucketVersioningResult, S3Error> GetBucketVersioningOutcome; - typedef Aws::Utils::Outcome<GetBucketWebsiteResult, S3Error> GetBucketWebsiteOutcome; - typedef Aws::Utils::Outcome<GetObjectResult, S3Error> GetObjectOutcome; - typedef Aws::Utils::Outcome<GetObjectAclResult, S3Error> GetObjectAclOutcome; - typedef Aws::Utils::Outcome<GetObjectLegalHoldResult, S3Error> GetObjectLegalHoldOutcome; - typedef Aws::Utils::Outcome<GetObjectLockConfigurationResult, S3Error> GetObjectLockConfigurationOutcome; - typedef Aws::Utils::Outcome<GetObjectRetentionResult, S3Error> GetObjectRetentionOutcome; - typedef Aws::Utils::Outcome<GetObjectTaggingResult, S3Error> GetObjectTaggingOutcome; - typedef Aws::Utils::Outcome<GetObjectTorrentResult, S3Error> GetObjectTorrentOutcome; - typedef Aws::Utils::Outcome<GetPublicAccessBlockResult, S3Error> GetPublicAccessBlockOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> HeadBucketOutcome; - typedef Aws::Utils::Outcome<HeadObjectResult, S3Error> HeadObjectOutcome; - typedef Aws::Utils::Outcome<ListBucketAnalyticsConfigurationsResult, S3Error> ListBucketAnalyticsConfigurationsOutcome; - typedef Aws::Utils::Outcome<ListBucketIntelligentTieringConfigurationsResult, S3Error> ListBucketIntelligentTieringConfigurationsOutcome; - typedef Aws::Utils::Outcome<ListBucketInventoryConfigurationsResult, S3Error> ListBucketInventoryConfigurationsOutcome; - typedef Aws::Utils::Outcome<ListBucketMetricsConfigurationsResult, S3Error> ListBucketMetricsConfigurationsOutcome; - typedef Aws::Utils::Outcome<ListBucketsResult, S3Error> ListBucketsOutcome; - typedef Aws::Utils::Outcome<ListMultipartUploadsResult, S3Error> ListMultipartUploadsOutcome; - typedef Aws::Utils::Outcome<ListObjectVersionsResult, S3Error> ListObjectVersionsOutcome; - typedef Aws::Utils::Outcome<ListObjectsResult, S3Error> ListObjectsOutcome; - typedef Aws::Utils::Outcome<ListObjectsV2Result, S3Error> ListObjectsV2Outcome; - typedef Aws::Utils::Outcome<ListPartsResult, S3Error> ListPartsOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketAccelerateConfigurationOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketAclOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketAnalyticsConfigurationOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketCorsOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketEncryptionOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketIntelligentTieringConfigurationOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketInventoryConfigurationOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketLifecycleConfigurationOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketLoggingOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketMetricsConfigurationOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketNotificationConfigurationOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketOwnershipControlsOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketPolicyOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketReplicationOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketRequestPaymentOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketTaggingOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketVersioningOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketWebsiteOutcome; - typedef Aws::Utils::Outcome<PutObjectResult, S3Error> PutObjectOutcome; - typedef Aws::Utils::Outcome<PutObjectAclResult, S3Error> PutObjectAclOutcome; - typedef Aws::Utils::Outcome<PutObjectLegalHoldResult, S3Error> PutObjectLegalHoldOutcome; - typedef Aws::Utils::Outcome<PutObjectLockConfigurationResult, S3Error> PutObjectLockConfigurationOutcome; - typedef Aws::Utils::Outcome<PutObjectRetentionResult, S3Error> PutObjectRetentionOutcome; - typedef Aws::Utils::Outcome<PutObjectTaggingResult, S3Error> PutObjectTaggingOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutPublicAccessBlockOutcome; - typedef Aws::Utils::Outcome<RestoreObjectResult, S3Error> RestoreObjectOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> SelectObjectContentOutcome; - typedef Aws::Utils::Outcome<UploadPartResult, S3Error> UploadPartOutcome; - typedef Aws::Utils::Outcome<UploadPartCopyResult, S3Error> UploadPartCopyOutcome; - typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> WriteGetObjectResponseOutcome; - - typedef std::future<AbortMultipartUploadOutcome> AbortMultipartUploadOutcomeCallable; - typedef std::future<CompleteMultipartUploadOutcome> CompleteMultipartUploadOutcomeCallable; - typedef std::future<CopyObjectOutcome> CopyObjectOutcomeCallable; - typedef std::future<CreateBucketOutcome> CreateBucketOutcomeCallable; - typedef std::future<CreateMultipartUploadOutcome> CreateMultipartUploadOutcomeCallable; - typedef std::future<DeleteBucketOutcome> DeleteBucketOutcomeCallable; - typedef std::future<DeleteBucketAnalyticsConfigurationOutcome> DeleteBucketAnalyticsConfigurationOutcomeCallable; - typedef std::future<DeleteBucketCorsOutcome> DeleteBucketCorsOutcomeCallable; - typedef std::future<DeleteBucketEncryptionOutcome> DeleteBucketEncryptionOutcomeCallable; - typedef std::future<DeleteBucketIntelligentTieringConfigurationOutcome> DeleteBucketIntelligentTieringConfigurationOutcomeCallable; - typedef std::future<DeleteBucketInventoryConfigurationOutcome> DeleteBucketInventoryConfigurationOutcomeCallable; - typedef std::future<DeleteBucketLifecycleOutcome> DeleteBucketLifecycleOutcomeCallable; - typedef std::future<DeleteBucketMetricsConfigurationOutcome> DeleteBucketMetricsConfigurationOutcomeCallable; - typedef std::future<DeleteBucketOwnershipControlsOutcome> DeleteBucketOwnershipControlsOutcomeCallable; - typedef std::future<DeleteBucketPolicyOutcome> DeleteBucketPolicyOutcomeCallable; - typedef std::future<DeleteBucketReplicationOutcome> DeleteBucketReplicationOutcomeCallable; - typedef std::future<DeleteBucketTaggingOutcome> DeleteBucketTaggingOutcomeCallable; - typedef std::future<DeleteBucketWebsiteOutcome> DeleteBucketWebsiteOutcomeCallable; - typedef std::future<DeleteObjectOutcome> DeleteObjectOutcomeCallable; - typedef std::future<DeleteObjectTaggingOutcome> DeleteObjectTaggingOutcomeCallable; - typedef std::future<DeleteObjectsOutcome> DeleteObjectsOutcomeCallable; - typedef std::future<DeletePublicAccessBlockOutcome> DeletePublicAccessBlockOutcomeCallable; - typedef std::future<GetBucketAccelerateConfigurationOutcome> GetBucketAccelerateConfigurationOutcomeCallable; - typedef std::future<GetBucketAclOutcome> GetBucketAclOutcomeCallable; - typedef std::future<GetBucketAnalyticsConfigurationOutcome> GetBucketAnalyticsConfigurationOutcomeCallable; - typedef std::future<GetBucketCorsOutcome> GetBucketCorsOutcomeCallable; - typedef std::future<GetBucketEncryptionOutcome> GetBucketEncryptionOutcomeCallable; - typedef std::future<GetBucketIntelligentTieringConfigurationOutcome> GetBucketIntelligentTieringConfigurationOutcomeCallable; - typedef std::future<GetBucketInventoryConfigurationOutcome> GetBucketInventoryConfigurationOutcomeCallable; - typedef std::future<GetBucketLifecycleConfigurationOutcome> GetBucketLifecycleConfigurationOutcomeCallable; - typedef std::future<GetBucketLocationOutcome> GetBucketLocationOutcomeCallable; - typedef std::future<GetBucketLoggingOutcome> GetBucketLoggingOutcomeCallable; - typedef std::future<GetBucketMetricsConfigurationOutcome> GetBucketMetricsConfigurationOutcomeCallable; - typedef std::future<GetBucketNotificationConfigurationOutcome> GetBucketNotificationConfigurationOutcomeCallable; - typedef std::future<GetBucketOwnershipControlsOutcome> GetBucketOwnershipControlsOutcomeCallable; - typedef std::future<GetBucketPolicyOutcome> GetBucketPolicyOutcomeCallable; - typedef std::future<GetBucketPolicyStatusOutcome> GetBucketPolicyStatusOutcomeCallable; - typedef std::future<GetBucketReplicationOutcome> GetBucketReplicationOutcomeCallable; - typedef std::future<GetBucketRequestPaymentOutcome> GetBucketRequestPaymentOutcomeCallable; - typedef std::future<GetBucketTaggingOutcome> GetBucketTaggingOutcomeCallable; - typedef std::future<GetBucketVersioningOutcome> GetBucketVersioningOutcomeCallable; - typedef std::future<GetBucketWebsiteOutcome> GetBucketWebsiteOutcomeCallable; - typedef std::future<GetObjectOutcome> GetObjectOutcomeCallable; - typedef std::future<GetObjectAclOutcome> GetObjectAclOutcomeCallable; - typedef std::future<GetObjectLegalHoldOutcome> GetObjectLegalHoldOutcomeCallable; - typedef std::future<GetObjectLockConfigurationOutcome> GetObjectLockConfigurationOutcomeCallable; - typedef std::future<GetObjectRetentionOutcome> GetObjectRetentionOutcomeCallable; - typedef std::future<GetObjectTaggingOutcome> GetObjectTaggingOutcomeCallable; - typedef std::future<GetObjectTorrentOutcome> GetObjectTorrentOutcomeCallable; - typedef std::future<GetPublicAccessBlockOutcome> GetPublicAccessBlockOutcomeCallable; - typedef std::future<HeadBucketOutcome> HeadBucketOutcomeCallable; - typedef std::future<HeadObjectOutcome> HeadObjectOutcomeCallable; - typedef std::future<ListBucketAnalyticsConfigurationsOutcome> ListBucketAnalyticsConfigurationsOutcomeCallable; - typedef std::future<ListBucketIntelligentTieringConfigurationsOutcome> ListBucketIntelligentTieringConfigurationsOutcomeCallable; - typedef std::future<ListBucketInventoryConfigurationsOutcome> ListBucketInventoryConfigurationsOutcomeCallable; - typedef std::future<ListBucketMetricsConfigurationsOutcome> ListBucketMetricsConfigurationsOutcomeCallable; - typedef std::future<ListBucketsOutcome> ListBucketsOutcomeCallable; - typedef std::future<ListMultipartUploadsOutcome> ListMultipartUploadsOutcomeCallable; - typedef std::future<ListObjectVersionsOutcome> ListObjectVersionsOutcomeCallable; - typedef std::future<ListObjectsOutcome> ListObjectsOutcomeCallable; - typedef std::future<ListObjectsV2Outcome> ListObjectsV2OutcomeCallable; - typedef std::future<ListPartsOutcome> ListPartsOutcomeCallable; - typedef std::future<PutBucketAccelerateConfigurationOutcome> PutBucketAccelerateConfigurationOutcomeCallable; - typedef std::future<PutBucketAclOutcome> PutBucketAclOutcomeCallable; - typedef std::future<PutBucketAnalyticsConfigurationOutcome> PutBucketAnalyticsConfigurationOutcomeCallable; - typedef std::future<PutBucketCorsOutcome> PutBucketCorsOutcomeCallable; - typedef std::future<PutBucketEncryptionOutcome> PutBucketEncryptionOutcomeCallable; - typedef std::future<PutBucketIntelligentTieringConfigurationOutcome> PutBucketIntelligentTieringConfigurationOutcomeCallable; - typedef std::future<PutBucketInventoryConfigurationOutcome> PutBucketInventoryConfigurationOutcomeCallable; - typedef std::future<PutBucketLifecycleConfigurationOutcome> PutBucketLifecycleConfigurationOutcomeCallable; - typedef std::future<PutBucketLoggingOutcome> PutBucketLoggingOutcomeCallable; - typedef std::future<PutBucketMetricsConfigurationOutcome> PutBucketMetricsConfigurationOutcomeCallable; - typedef std::future<PutBucketNotificationConfigurationOutcome> PutBucketNotificationConfigurationOutcomeCallable; - typedef std::future<PutBucketOwnershipControlsOutcome> PutBucketOwnershipControlsOutcomeCallable; - typedef std::future<PutBucketPolicyOutcome> PutBucketPolicyOutcomeCallable; - typedef std::future<PutBucketReplicationOutcome> PutBucketReplicationOutcomeCallable; - typedef std::future<PutBucketRequestPaymentOutcome> PutBucketRequestPaymentOutcomeCallable; - typedef std::future<PutBucketTaggingOutcome> PutBucketTaggingOutcomeCallable; - typedef std::future<PutBucketVersioningOutcome> PutBucketVersioningOutcomeCallable; - typedef std::future<PutBucketWebsiteOutcome> PutBucketWebsiteOutcomeCallable; - typedef std::future<PutObjectOutcome> PutObjectOutcomeCallable; - typedef std::future<PutObjectAclOutcome> PutObjectAclOutcomeCallable; - typedef std::future<PutObjectLegalHoldOutcome> PutObjectLegalHoldOutcomeCallable; - typedef std::future<PutObjectLockConfigurationOutcome> PutObjectLockConfigurationOutcomeCallable; - typedef std::future<PutObjectRetentionOutcome> PutObjectRetentionOutcomeCallable; - typedef std::future<PutObjectTaggingOutcome> PutObjectTaggingOutcomeCallable; - typedef std::future<PutPublicAccessBlockOutcome> PutPublicAccessBlockOutcomeCallable; - typedef std::future<RestoreObjectOutcome> RestoreObjectOutcomeCallable; - typedef std::future<SelectObjectContentOutcome> SelectObjectContentOutcomeCallable; - typedef std::future<UploadPartOutcome> UploadPartOutcomeCallable; - typedef std::future<UploadPartCopyOutcome> UploadPartCopyOutcomeCallable; - typedef std::future<WriteGetObjectResponseOutcome> WriteGetObjectResponseOutcomeCallable; - } // namespace Model - namespace SSEHeaders { static const char SERVER_SIDE_ENCRYPTION[] = "x-amz-server-side-encryption"; @@ -401,151 +33,75 @@ namespace Aws static const char SERVER_SIDE_ENCRYPTION_CUSTOMER_KEY_MD5[] = "x-amz-server-side-encryption-customer-key-MD5"; } // SS3Headers - class S3Client; - - typedef std::function<void(const S3Client*, const Model::AbortMultipartUploadRequest&, const Model::AbortMultipartUploadOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AbortMultipartUploadResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::CompleteMultipartUploadRequest&, const Model::CompleteMultipartUploadOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CompleteMultipartUploadResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::CopyObjectRequest&, const Model::CopyObjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CopyObjectResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::CreateBucketRequest&, const Model::CreateBucketOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateBucketResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::CreateMultipartUploadRequest&, const Model::CreateMultipartUploadOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateMultipartUploadResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::DeleteBucketRequest&, const Model::DeleteBucketOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::DeleteBucketAnalyticsConfigurationRequest&, const Model::DeleteBucketAnalyticsConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketAnalyticsConfigurationResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::DeleteBucketCorsRequest&, const Model::DeleteBucketCorsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketCorsResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::DeleteBucketEncryptionRequest&, const Model::DeleteBucketEncryptionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketEncryptionResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::DeleteBucketIntelligentTieringConfigurationRequest&, const Model::DeleteBucketIntelligentTieringConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketIntelligentTieringConfigurationResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::DeleteBucketInventoryConfigurationRequest&, const Model::DeleteBucketInventoryConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketInventoryConfigurationResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::DeleteBucketLifecycleRequest&, const Model::DeleteBucketLifecycleOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketLifecycleResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::DeleteBucketMetricsConfigurationRequest&, const Model::DeleteBucketMetricsConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketMetricsConfigurationResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::DeleteBucketOwnershipControlsRequest&, const Model::DeleteBucketOwnershipControlsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketOwnershipControlsResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::DeleteBucketPolicyRequest&, const Model::DeleteBucketPolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketPolicyResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::DeleteBucketReplicationRequest&, const Model::DeleteBucketReplicationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketReplicationResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::DeleteBucketTaggingRequest&, const Model::DeleteBucketTaggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketTaggingResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::DeleteBucketWebsiteRequest&, const Model::DeleteBucketWebsiteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketWebsiteResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::DeleteObjectRequest&, const Model::DeleteObjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteObjectResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::DeleteObjectTaggingRequest&, const Model::DeleteObjectTaggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteObjectTaggingResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::DeleteObjectsRequest&, const Model::DeleteObjectsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteObjectsResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::DeletePublicAccessBlockRequest&, const Model::DeletePublicAccessBlockOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeletePublicAccessBlockResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetBucketAccelerateConfigurationRequest&, const Model::GetBucketAccelerateConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketAccelerateConfigurationResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetBucketAclRequest&, const Model::GetBucketAclOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketAclResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetBucketAnalyticsConfigurationRequest&, const Model::GetBucketAnalyticsConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketAnalyticsConfigurationResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetBucketCorsRequest&, const Model::GetBucketCorsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketCorsResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetBucketEncryptionRequest&, const Model::GetBucketEncryptionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketEncryptionResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetBucketIntelligentTieringConfigurationRequest&, const Model::GetBucketIntelligentTieringConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketIntelligentTieringConfigurationResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetBucketInventoryConfigurationRequest&, const Model::GetBucketInventoryConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketInventoryConfigurationResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetBucketLifecycleConfigurationRequest&, const Model::GetBucketLifecycleConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketLifecycleConfigurationResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetBucketLocationRequest&, const Model::GetBucketLocationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketLocationResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetBucketLoggingRequest&, const Model::GetBucketLoggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketLoggingResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetBucketMetricsConfigurationRequest&, const Model::GetBucketMetricsConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketMetricsConfigurationResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetBucketNotificationConfigurationRequest&, const Model::GetBucketNotificationConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketNotificationConfigurationResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetBucketOwnershipControlsRequest&, const Model::GetBucketOwnershipControlsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketOwnershipControlsResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetBucketPolicyRequest&, Model::GetBucketPolicyOutcome, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketPolicyResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetBucketPolicyStatusRequest&, const Model::GetBucketPolicyStatusOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketPolicyStatusResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetBucketReplicationRequest&, const Model::GetBucketReplicationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketReplicationResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetBucketRequestPaymentRequest&, const Model::GetBucketRequestPaymentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketRequestPaymentResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetBucketTaggingRequest&, const Model::GetBucketTaggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketTaggingResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetBucketVersioningRequest&, const Model::GetBucketVersioningOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketVersioningResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetBucketWebsiteRequest&, const Model::GetBucketWebsiteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketWebsiteResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetObjectRequest&, Model::GetObjectOutcome, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetObjectAclRequest&, const Model::GetObjectAclOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectAclResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetObjectLegalHoldRequest&, const Model::GetObjectLegalHoldOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectLegalHoldResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetObjectLockConfigurationRequest&, const Model::GetObjectLockConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectLockConfigurationResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetObjectRetentionRequest&, const Model::GetObjectRetentionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectRetentionResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetObjectTaggingRequest&, const Model::GetObjectTaggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectTaggingResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetObjectTorrentRequest&, Model::GetObjectTorrentOutcome, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectTorrentResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::GetPublicAccessBlockRequest&, const Model::GetPublicAccessBlockOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetPublicAccessBlockResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::HeadBucketRequest&, const Model::HeadBucketOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > HeadBucketResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::HeadObjectRequest&, const Model::HeadObjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > HeadObjectResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::ListBucketAnalyticsConfigurationsRequest&, const Model::ListBucketAnalyticsConfigurationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListBucketAnalyticsConfigurationsResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::ListBucketIntelligentTieringConfigurationsRequest&, const Model::ListBucketIntelligentTieringConfigurationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListBucketIntelligentTieringConfigurationsResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::ListBucketInventoryConfigurationsRequest&, const Model::ListBucketInventoryConfigurationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListBucketInventoryConfigurationsResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::ListBucketMetricsConfigurationsRequest&, const Model::ListBucketMetricsConfigurationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListBucketMetricsConfigurationsResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::ListBucketsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListBucketsResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::ListMultipartUploadsRequest&, const Model::ListMultipartUploadsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListMultipartUploadsResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::ListObjectVersionsRequest&, const Model::ListObjectVersionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListObjectVersionsResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::ListObjectsRequest&, const Model::ListObjectsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListObjectsResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::ListObjectsV2Request&, const Model::ListObjectsV2Outcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListObjectsV2ResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::ListPartsRequest&, const Model::ListPartsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListPartsResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::PutBucketAccelerateConfigurationRequest&, const Model::PutBucketAccelerateConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketAccelerateConfigurationResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::PutBucketAclRequest&, const Model::PutBucketAclOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketAclResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::PutBucketAnalyticsConfigurationRequest&, const Model::PutBucketAnalyticsConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketAnalyticsConfigurationResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::PutBucketCorsRequest&, const Model::PutBucketCorsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketCorsResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::PutBucketEncryptionRequest&, const Model::PutBucketEncryptionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketEncryptionResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::PutBucketIntelligentTieringConfigurationRequest&, const Model::PutBucketIntelligentTieringConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketIntelligentTieringConfigurationResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::PutBucketInventoryConfigurationRequest&, const Model::PutBucketInventoryConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketInventoryConfigurationResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::PutBucketLifecycleConfigurationRequest&, const Model::PutBucketLifecycleConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketLifecycleConfigurationResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::PutBucketLoggingRequest&, const Model::PutBucketLoggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketLoggingResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::PutBucketMetricsConfigurationRequest&, const Model::PutBucketMetricsConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketMetricsConfigurationResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::PutBucketNotificationConfigurationRequest&, const Model::PutBucketNotificationConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketNotificationConfigurationResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::PutBucketOwnershipControlsRequest&, const Model::PutBucketOwnershipControlsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketOwnershipControlsResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::PutBucketPolicyRequest&, const Model::PutBucketPolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketPolicyResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::PutBucketReplicationRequest&, const Model::PutBucketReplicationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketReplicationResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::PutBucketRequestPaymentRequest&, const Model::PutBucketRequestPaymentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketRequestPaymentResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::PutBucketTaggingRequest&, const Model::PutBucketTaggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketTaggingResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::PutBucketVersioningRequest&, const Model::PutBucketVersioningOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketVersioningResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::PutBucketWebsiteRequest&, const Model::PutBucketWebsiteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketWebsiteResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::PutObjectRequest&, const Model::PutObjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutObjectResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::PutObjectAclRequest&, const Model::PutObjectAclOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutObjectAclResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::PutObjectLegalHoldRequest&, const Model::PutObjectLegalHoldOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutObjectLegalHoldResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::PutObjectLockConfigurationRequest&, const Model::PutObjectLockConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutObjectLockConfigurationResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::PutObjectRetentionRequest&, const Model::PutObjectRetentionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutObjectRetentionResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::PutObjectTaggingRequest&, const Model::PutObjectTaggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutObjectTaggingResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::PutPublicAccessBlockRequest&, const Model::PutPublicAccessBlockOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutPublicAccessBlockResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::RestoreObjectRequest&, const Model::RestoreObjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RestoreObjectResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::SelectObjectContentRequest&, const Model::SelectObjectContentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SelectObjectContentResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::UploadPartRequest&, const Model::UploadPartOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UploadPartResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::UploadPartCopyRequest&, const Model::UploadPartCopyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UploadPartCopyResponseReceivedHandler; - typedef std::function<void(const S3Client*, const Model::WriteGetObjectResponseRequest&, const Model::WriteGetObjectResponseOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > WriteGetObjectResponseResponseReceivedHandler; - - // Get endpoint, signer region and signer service name after computing the endpoint. - struct ComputeEndpointResult - { - ComputeEndpointResult(const Aws::String& endpointName = {}, const Aws::String& region = {}, const Aws::String& serviceName = {}) : - endpoint(endpointName), signerRegion(region), signerServiceName(serviceName) {} - - Aws::String endpoint; - Aws::String signerRegion; - Aws::String signerServiceName; - }; - typedef Aws::Utils::Outcome<ComputeEndpointResult, Aws::Client::AWSError<S3Errors>> ComputeEndpointOutcome; - //max expiration for presigned urls in s3 is 7 days. static const unsigned MAX_EXPIRATION_SECONDS = 7 * 24 * 60 * 60; /** * <p/> */ - enum class US_EAST_1_REGIONAL_ENDPOINT_OPTION - { - NOT_SET, - LEGACY, //stands for using global endpoint for us-east-1, - REGIONAL //stands for using regional endpoint for us-east-1 - }; - class AWS_S3_API S3Client : public Aws::Client::AWSXMLClient + class AWS_S3_API S3Client : public Aws::Client::AWSXMLClient, public Aws::Client::ClientWithAsyncTemplateMethods<S3Client> { public: typedef Aws::Client::AWSXMLClient BASECLASS; + static const char* SERVICE_NAME; + static const char* ALLOCATION_TAG; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ - S3Client(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration(), Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads = Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::Never, bool useVirtualAddressing = true, Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION USEast1RegionalEndPointOption = Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET); + S3Client(const Aws::S3::S3ClientConfiguration& clientConfiguration = Aws::S3::S3ClientConfiguration(), + std::shared_ptr<S3EndpointProviderBase> endpointProvider = Aws::MakeShared<S3EndpointProvider>(ALLOCATION_TAG)); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ - S3Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration(), Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads = Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::Never, bool useVirtualAddressing = true, Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION USEast1RegionalEndPointOption = Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET); + S3Client(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr<S3EndpointProviderBase> endpointProvider = Aws::MakeShared<S3EndpointProvider>(ALLOCATION_TAG), + const Aws::S3::S3ClientConfiguration& clientConfiguration = Aws::S3::S3ClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ S3Client(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration(), Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads = Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::Never, bool useVirtualAddressing = true, Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION USEast1RegionalEndPointOption = Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET); + std::shared_ptr<S3EndpointProviderBase> endpointProvider = Aws::MakeShared<S3EndpointProvider>(ALLOCATION_TAG), + const Aws::S3::S3ClientConfiguration& clientConfiguration = Aws::S3::S3ClientConfiguration()); - virtual ~S3Client(); + /* Legacy constructors due deprecation */ + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + S3Client(const Aws::Client::ClientConfiguration& clientConfiguration, + Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads, + bool useVirtualAddressing, + Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION USEast1RegionalEndPointOption = Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + S3Client(const Aws::Auth::AWSCredentials& credentials, + const Aws::Client::ClientConfiguration& clientConfiguration, + Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads, + bool useVirtualAddressing, + Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION USEast1RegionalEndPointOption = Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + S3Client(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration, + Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads, + bool useVirtualAddressing, + Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION USEast1RegionalEndPointOption = Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET); + + /* End of legacy constructors due deprecation */ + virtual ~S3Client(); /** * <p>This action aborts a multipart upload. After a multipart upload is aborted, @@ -578,68 +134,22 @@ namespace Aws virtual Model::AbortMultipartUploadOutcome AbortMultipartUpload(const Model::AbortMultipartUploadRequest& request) const; /** - * <p>This action aborts a multipart upload. After a multipart upload is aborted, - * no additional parts can be uploaded using that upload ID. The storage consumed - * by any previously uploaded parts will be freed. However, if any part uploads are - * currently in progress, those part uploads might or might not succeed. As a - * result, it might be necessary to abort a given multipart upload multiple times - * in order to completely free all storage consumed by all parts. </p> <p>To verify - * that all parts have been removed, so you don't get charged for the part storage, - * you should call the <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> - * action and ensure that the parts list is empty.</p> <p>For information about - * permissions required to use the multipart upload, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart - * Upload and Permissions</a>.</p> <p>The following operations are related to - * <code>AbortMultipartUpload</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUpload">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for AbortMultipartUpload that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::AbortMultipartUploadOutcomeCallable AbortMultipartUploadCallable(const Model::AbortMultipartUploadRequest& request) const; + template<typename AbortMultipartUploadRequestT = Model::AbortMultipartUploadRequest> + Model::AbortMultipartUploadOutcomeCallable AbortMultipartUploadCallable(const AbortMultipartUploadRequestT& request) const + { + return SubmitCallable(&S3Client::AbortMultipartUpload, request); + } /** - * <p>This action aborts a multipart upload. After a multipart upload is aborted, - * no additional parts can be uploaded using that upload ID. The storage consumed - * by any previously uploaded parts will be freed. However, if any part uploads are - * currently in progress, those part uploads might or might not succeed. As a - * result, it might be necessary to abort a given multipart upload multiple times - * in order to completely free all storage consumed by all parts. </p> <p>To verify - * that all parts have been removed, so you don't get charged for the part storage, - * you should call the <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> - * action and ensure that the parts list is empty.</p> <p>For information about - * permissions required to use the multipart upload, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart - * Upload and Permissions</a>.</p> <p>The following operations are related to - * <code>AbortMultipartUpload</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUpload">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for AbortMultipartUpload that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void AbortMultipartUploadAsync(const Model::AbortMultipartUploadRequest& request, const AbortMultipartUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename AbortMultipartUploadRequestT = Model::AbortMultipartUploadRequest> + void AbortMultipartUploadAsync(const AbortMultipartUploadRequestT& request, const AbortMultipartUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::AbortMultipartUpload, request, handler, context); + } /** * <p>Completes a multipart upload by assembling previously uploaded parts.</p> @@ -663,7 +173,11 @@ namespace Aws * if <code>CompleteMultipartUpload</code> fails, applications should be prepared * to retry the failed requests. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html">Amazon - * S3 Error Best Practices</a>.</p> <p>For more information about multipart + * S3 Error Best Practices</a>.</p> <p>You cannot use + * <code>Content-Type: application/x-www-form-urlencoded</code> with Complete + * Multipart Upload requests. Also, if you do not provide a + * <code>Content-Type</code> header, <code>CompleteMultipartUpload</code> returns a + * 200 OK response.</p> <p>For more information about multipart * uploads, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading * Objects Using Multipart Upload</a>.</p> <p>For information about permissions @@ -702,135 +216,29 @@ namespace Aws virtual Model::CompleteMultipartUploadOutcome CompleteMultipartUpload(const Model::CompleteMultipartUploadRequest& request) const; /** - * <p>Completes a multipart upload by assembling previously uploaded parts.</p> - * <p>You first initiate the multipart upload and then upload all parts using the - * <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> - * operation. After successfully uploading all relevant parts of an upload, you - * call this action to complete the upload. Upon receiving this request, Amazon S3 - * concatenates all the parts in ascending order by part number to create a new - * object. In the Complete Multipart Upload request, you must provide the parts - * list. You must ensure that the parts list is complete. This action concatenates - * the parts that you provide in the list. For each part in the list, you must - * provide the part number and the <code>ETag</code> value, returned after that - * part was uploaded.</p> <p>Processing of a Complete Multipart Upload request - * could take several minutes to complete. After Amazon S3 begins processing the - * request, it sends an HTTP response header that specifies a 200 OK response. - * While processing is in progress, Amazon S3 periodically sends white space - * characters to keep the connection from timing out. Because a request could fail - * after the initial 200 OK response has been sent, it is important that you check - * the response body to determine whether the request succeeded.</p> <p>Note that - * if <code>CompleteMultipartUpload</code> fails, applications should be prepared - * to retry the failed requests. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html">Amazon - * S3 Error Best Practices</a>.</p> <p>For more information about multipart - * uploads, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading - * Objects Using Multipart Upload</a>.</p> <p>For information about permissions - * required to use the multipart upload API, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart - * Upload and Permissions</a>.</p> <p> <code>CompleteMultipartUpload</code> has the - * following special errors:</p> <ul> <li> <p>Error code: - * <code>EntityTooSmall</code> </p> <ul> <li> <p>Description: Your proposed upload - * is smaller than the minimum allowed object size. Each part must be at least 5 MB - * in size, except the last part.</p> </li> <li> <p>400 Bad Request</p> </li> </ul> - * </li> <li> <p>Error code: <code>InvalidPart</code> </p> <ul> <li> - * <p>Description: One or more of the specified parts could not be found. The part - * might not have been uploaded, or the specified entity tag might not have matched - * the part's entity tag.</p> </li> <li> <p>400 Bad Request</p> </li> </ul> </li> - * <li> <p>Error code: <code>InvalidPartOrder</code> </p> <ul> <li> <p>Description: - * The list of parts was not in ascending order. The parts list must be specified - * in order by part number.</p> </li> <li> <p>400 Bad Request</p> </li> </ul> </li> - * <li> <p>Error code: <code>NoSuchUpload</code> </p> <ul> <li> <p>Description: The - * specified multipart upload does not exist. The upload ID might be invalid, or - * the multipart upload might have been aborted or completed.</p> </li> <li> <p>404 - * Not Found</p> </li> </ul> </li> </ul> <p>The following operations are related to - * <code>CompleteMultipartUpload</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUpload">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for CompleteMultipartUpload that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::CompleteMultipartUploadOutcomeCallable CompleteMultipartUploadCallable(const Model::CompleteMultipartUploadRequest& request) const; + template<typename CompleteMultipartUploadRequestT = Model::CompleteMultipartUploadRequest> + Model::CompleteMultipartUploadOutcomeCallable CompleteMultipartUploadCallable(const CompleteMultipartUploadRequestT& request) const + { + return SubmitCallable(&S3Client::CompleteMultipartUpload, request); + } /** - * <p>Completes a multipart upload by assembling previously uploaded parts.</p> - * <p>You first initiate the multipart upload and then upload all parts using the - * <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> - * operation. After successfully uploading all relevant parts of an upload, you - * call this action to complete the upload. Upon receiving this request, Amazon S3 - * concatenates all the parts in ascending order by part number to create a new - * object. In the Complete Multipart Upload request, you must provide the parts - * list. You must ensure that the parts list is complete. This action concatenates - * the parts that you provide in the list. For each part in the list, you must - * provide the part number and the <code>ETag</code> value, returned after that - * part was uploaded.</p> <p>Processing of a Complete Multipart Upload request - * could take several minutes to complete. After Amazon S3 begins processing the - * request, it sends an HTTP response header that specifies a 200 OK response. - * While processing is in progress, Amazon S3 periodically sends white space - * characters to keep the connection from timing out. Because a request could fail - * after the initial 200 OK response has been sent, it is important that you check - * the response body to determine whether the request succeeded.</p> <p>Note that - * if <code>CompleteMultipartUpload</code> fails, applications should be prepared - * to retry the failed requests. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html">Amazon - * S3 Error Best Practices</a>.</p> <p>For more information about multipart - * uploads, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading - * Objects Using Multipart Upload</a>.</p> <p>For information about permissions - * required to use the multipart upload API, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart - * Upload and Permissions</a>.</p> <p> <code>CompleteMultipartUpload</code> has the - * following special errors:</p> <ul> <li> <p>Error code: - * <code>EntityTooSmall</code> </p> <ul> <li> <p>Description: Your proposed upload - * is smaller than the minimum allowed object size. Each part must be at least 5 MB - * in size, except the last part.</p> </li> <li> <p>400 Bad Request</p> </li> </ul> - * </li> <li> <p>Error code: <code>InvalidPart</code> </p> <ul> <li> - * <p>Description: One or more of the specified parts could not be found. The part - * might not have been uploaded, or the specified entity tag might not have matched - * the part's entity tag.</p> </li> <li> <p>400 Bad Request</p> </li> </ul> </li> - * <li> <p>Error code: <code>InvalidPartOrder</code> </p> <ul> <li> <p>Description: - * The list of parts was not in ascending order. The parts list must be specified - * in order by part number.</p> </li> <li> <p>400 Bad Request</p> </li> </ul> </li> - * <li> <p>Error code: <code>NoSuchUpload</code> </p> <ul> <li> <p>Description: The - * specified multipart upload does not exist. The upload ID might be invalid, or - * the multipart upload might have been aborted or completed.</p> </li> <li> <p>404 - * Not Found</p> </li> </ul> </li> </ul> <p>The following operations are related to - * <code>CompleteMultipartUpload</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUpload">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for CompleteMultipartUpload that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void CompleteMultipartUploadAsync(const Model::CompleteMultipartUploadRequest& request, const CompleteMultipartUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename CompleteMultipartUploadRequestT = Model::CompleteMultipartUploadRequest> + void CompleteMultipartUploadAsync(const CompleteMultipartUploadRequestT& request, const CompleteMultipartUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::CompleteMultipartUpload, request, handler, context); + } /** * <p>Creates a copy of an object that is already stored in Amazon S3.</p> * <p>You can store individual objects of up to 5 TB in Amazon S3. You create a * copy of your object up to 5 GB in size in a single atomic action using this API. * However, to copy an object greater than 5 GB, you must use the multipart upload - * Upload Part - Copy API. For more information, see <a + * Upload Part - Copy (UploadPartCopy) API. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html">Copy * Object Using the REST Multipart Upload API</a>.</p> <p>All copy requests * must be authenticated. Additionally, you must have <i>read</i> access to the @@ -870,15 +278,14 @@ namespace Aws * key to enforce certain metadata behavior when objects are uploaded. For more * information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/amazon-s3-policy-keys.html">Specifying - * Conditions in a Policy</a> in the <i>Amazon S3 Developer Guide</i>. For a - * complete list of Amazon S3-specific condition keys, see <a + * Conditions in a Policy</a> in the <i>Amazon S3 User Guide</i>. For a complete + * list of Amazon S3-specific condition keys, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html">Actions, - * Resources, and Condition Keys for Amazon S3</a>.</p> <p> <b> - * <code>x-amz-copy-source-if</code> Headers</b> </p> <p>To only copy an object - * under certain conditions, such as whether the <code>Etag</code> matches or - * whether the object was modified before or after a specified date, use the - * following request parameters:</p> <ul> <li> <p> - * <code>x-amz-copy-source-if-match</code> </p> </li> <li> <p> + * Resources, and Condition Keys for Amazon S3</a>.</p> <p> <b>x-amz-copy-source-if + * Headers</b> </p> <p>To only copy an object under certain conditions, such as + * whether the <code>Etag</code> matches or whether the object was modified before + * or after a specified date, use the following request parameters:</p> <ul> <li> + * <p> <code>x-amz-copy-source-if-match</code> </p> </li> <li> <p> * <code>x-amz-copy-source-if-none-match</code> </p> </li> <li> <p> * <code>x-amz-copy-source-if-unmodified-since</code> </p> </li> <li> <p> * <code>x-amz-copy-source-if-modified-since</code> </p> </li> </ul> <p> If both @@ -899,11 +306,11 @@ namespace Aws * <code>x-amz-</code> prefix, including <code>x-amz-copy-source</code>, must be * signed.</p> <p> <b>Server-side encryption</b> </p> <p>When you perform a * CopyObject operation, you can optionally use the appropriate encryption-related - * headers to encrypt the object using server-side encryption with AWS managed - * encryption keys (SSE-S3 or SSE-KMS) or a customer-provided encryption key. With - * server-side encryption, Amazon S3 encrypts your data as it writes it to disks in - * its data centers and decrypts the data when you access it. For more information - * about server-side encryption, see <a + * headers to encrypt the object using server-side encryption with Amazon Web + * Services managed encryption keys (SSE-S3 or SSE-KMS) or a customer-provided + * encryption key. With server-side encryption, Amazon S3 encrypts your data as it + * writes it to disks in its data centers and decrypts the data when you access it. + * For more information about server-side encryption, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Using * Server-Side Encryption</a>.</p> <p>If a target object uses SSE-KMS, you can * enable an S3 Bucket Key for the object. For more information, see <a @@ -912,25 +319,40 @@ namespace Aws * List (ACL)-Specific Request Headers</b> </p> <p>When copying an object, you can * optionally use headers to grant ACL-based permissions. By default, all objects * are private. Only the owner has full access control. When adding a new object, - * you can grant permissions to individual AWS accounts or to predefined groups - * defined by Amazon S3. These permissions are then added to the ACL on the object. - * For more information, see <a + * you can grant permissions to individual Amazon Web Services accounts or to + * predefined groups defined by Amazon S3. These permissions are then added to the + * ACL on the object. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access * Control List (ACL) Overview</a> and <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html">Managing - * ACLs Using the REST API</a>. </p> <p> <b>Storage Class Options</b> </p> <p>You - * can use the <code>CopyObject</code> action to change the storage class of an - * object that is already stored in Amazon S3 using the <code>StorageClass</code> - * parameter. For more information, see <a + * ACLs Using the REST API</a>. </p> <p>If the bucket that you're copying objects + * to uses the bucket owner enforced setting for S3 Object Ownership, ACLs are + * disabled and no longer affect permissions. Buckets that use this setting only + * accept PUT requests that don't specify an ACL or PUT requests that specify + * bucket owner full control ACLs, such as the + * <code>bucket-owner-full-control</code> canned ACL or an equivalent form of this + * ACL expressed in the XML format.</p> <p>For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html"> + * Controlling ownership of objects and disabling ACLs</a> in the <i>Amazon S3 User + * Guide</i>.</p> <p>If your bucket uses the bucket owner enforced setting + * for Object Ownership, all objects written to the bucket by any account will be + * owned by the bucket owner.</p> <p> <b>Checksums</b> </p> <p>When copying + * an object, if it has a checksum, that checksum will be copied to the new object + * by default. When you copy the object over, you may optionally specify a + * different checksum algorithm to use with the + * <code>x-amz-checksum-algorithm</code> header.</p> <p> <b>Storage Class + * Options</b> </p> <p>You can use the <code>CopyObject</code> action to change the + * storage class of an object that is already stored in Amazon S3 using the + * <code>StorageClass</code> parameter. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage - * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> <p> - * <b>Versioning</b> </p> <p>By default, <code>x-amz-copy-source</code> identifies - * the current version of an object to copy. If the current version is a delete - * marker, Amazon S3 behaves as if the object was deleted. To copy a different - * version, use the <code>versionId</code> subresource.</p> <p>If you enable - * versioning on the target bucket, Amazon S3 generates a unique version ID for the - * object being copied. This version ID is different from the version ID of the - * source object. Amazon S3 returns the version ID of the copied object in the + * Classes</a> in the <i>Amazon S3 User Guide</i>.</p> <p> <b>Versioning</b> </p> + * <p>By default, <code>x-amz-copy-source</code> identifies the current version of + * an object to copy. If the current version is a delete marker, Amazon S3 behaves + * as if the object was deleted. To copy a different version, use the + * <code>versionId</code> subresource.</p> <p>If you enable versioning on the + * target bucket, Amazon S3 generates a unique version ID for the object being + * copied. This version ID is different from the version ID of the source object. + * Amazon S3 returns the version ID of the copied object in the * <code>x-amz-version-id</code> response header in the response.</p> <p>If you do * not enable versioning or suspend it on the target bucket, the version ID that * Amazon S3 generates is always null.</p> <p>If the source object's storage class @@ -951,268 +373,32 @@ namespace Aws virtual Model::CopyObjectOutcome CopyObject(const Model::CopyObjectRequest& request) const; /** - * <p>Creates a copy of an object that is already stored in Amazon S3.</p> - * <p>You can store individual objects of up to 5 TB in Amazon S3. You create a - * copy of your object up to 5 GB in size in a single atomic action using this API. - * However, to copy an object greater than 5 GB, you must use the multipart upload - * Upload Part - Copy API. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html">Copy - * Object Using the REST Multipart Upload API</a>.</p> <p>All copy requests - * must be authenticated. Additionally, you must have <i>read</i> access to the - * source object and <i>write</i> access to the destination bucket. For more - * information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST - * Authentication</a>. Both the Region that you want to copy the object from and - * the Region that you want to copy the object to must be enabled for your - * account.</p> <p>A copy request might return an error when Amazon S3 receives the - * copy request or while Amazon S3 is copying the files. If the error occurs before - * the copy action starts, you receive a standard Amazon S3 error. If the error - * occurs during the copy operation, the error response is embedded in the - * <code>200 OK</code> response. This means that a <code>200 OK</code> response can - * contain either a success or an error. Design your application to parse the - * contents of the response and handle it appropriately.</p> <p>If the copy is - * successful, you receive a response with information about the copied object.</p> - * <p>If the request is an HTTP 1.1 request, the response is chunk encoded. - * If it were not, it would not contain the content-length, and you would need to - * read the entire body.</p> <p>The copy request charge is based on the - * storage class and Region that you specify for the destination object. For - * pricing information, see <a href="http://aws.amazon.com/s3/pricing/">Amazon S3 - * pricing</a>.</p> <p>Amazon S3 transfer acceleration does not support - * cross-Region copies. If you request a cross-Region copy using a transfer - * acceleration endpoint, you get a 400 <code>Bad Request</code> error. For more - * information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer - * Acceleration</a>.</p> <p> <b>Metadata</b> </p> <p>When copying an - * object, you can preserve all metadata (default) or specify new metadata. - * However, the ACL is not preserved and is set to private for the user making the - * request. To override the default ACL setting, specify a new ACL when generating - * a copy request. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using - * ACLs</a>. </p> <p>To specify whether you want the object metadata copied from - * the source object or replaced with metadata provided in the request, you can - * optionally add the <code>x-amz-metadata-directive</code> header. When you grant - * permissions, you can use the <code>s3:x-amz-metadata-directive</code> condition - * key to enforce certain metadata behavior when objects are uploaded. For more - * information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/amazon-s3-policy-keys.html">Specifying - * Conditions in a Policy</a> in the <i>Amazon S3 Developer Guide</i>. For a - * complete list of Amazon S3-specific condition keys, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html">Actions, - * Resources, and Condition Keys for Amazon S3</a>.</p> <p> <b> - * <code>x-amz-copy-source-if</code> Headers</b> </p> <p>To only copy an object - * under certain conditions, such as whether the <code>Etag</code> matches or - * whether the object was modified before or after a specified date, use the - * following request parameters:</p> <ul> <li> <p> - * <code>x-amz-copy-source-if-match</code> </p> </li> <li> <p> - * <code>x-amz-copy-source-if-none-match</code> </p> </li> <li> <p> - * <code>x-amz-copy-source-if-unmodified-since</code> </p> </li> <li> <p> - * <code>x-amz-copy-source-if-modified-since</code> </p> </li> </ul> <p> If both - * the <code>x-amz-copy-source-if-match</code> and - * <code>x-amz-copy-source-if-unmodified-since</code> headers are present in the - * request and evaluate as follows, Amazon S3 returns <code>200 OK</code> and - * copies the data:</p> <ul> <li> <p> <code>x-amz-copy-source-if-match</code> - * condition evaluates to true</p> </li> <li> <p> - * <code>x-amz-copy-source-if-unmodified-since</code> condition evaluates to - * false</p> </li> </ul> <p>If both the - * <code>x-amz-copy-source-if-none-match</code> and - * <code>x-amz-copy-source-if-modified-since</code> headers are present in the - * request and evaluate as follows, Amazon S3 returns the <code>412 Precondition - * Failed</code> response code:</p> <ul> <li> <p> - * <code>x-amz-copy-source-if-none-match</code> condition evaluates to false</p> - * </li> <li> <p> <code>x-amz-copy-source-if-modified-since</code> condition - * evaluates to true</p> </li> </ul> <p>All headers with the - * <code>x-amz-</code> prefix, including <code>x-amz-copy-source</code>, must be - * signed.</p> <p> <b>Server-side encryption</b> </p> <p>When you perform a - * CopyObject operation, you can optionally use the appropriate encryption-related - * headers to encrypt the object using server-side encryption with AWS managed - * encryption keys (SSE-S3 or SSE-KMS) or a customer-provided encryption key. With - * server-side encryption, Amazon S3 encrypts your data as it writes it to disks in - * its data centers and decrypts the data when you access it. For more information - * about server-side encryption, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Using - * Server-Side Encryption</a>.</p> <p>If a target object uses SSE-KMS, you can - * enable an S3 Bucket Key for the object. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 - * Bucket Keys</a> in the <i>Amazon S3 User Guide</i>.</p> <p> <b>Access Control - * List (ACL)-Specific Request Headers</b> </p> <p>When copying an object, you can - * optionally use headers to grant ACL-based permissions. By default, all objects - * are private. Only the owner has full access control. When adding a new object, - * you can grant permissions to individual AWS accounts or to predefined groups - * defined by Amazon S3. These permissions are then added to the ACL on the object. - * For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access - * Control List (ACL) Overview</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html">Managing - * ACLs Using the REST API</a>. </p> <p> <b>Storage Class Options</b> </p> <p>You - * can use the <code>CopyObject</code> action to change the storage class of an - * object that is already stored in Amazon S3 using the <code>StorageClass</code> - * parameter. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage - * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> <p> - * <b>Versioning</b> </p> <p>By default, <code>x-amz-copy-source</code> identifies - * the current version of an object to copy. If the current version is a delete - * marker, Amazon S3 behaves as if the object was deleted. To copy a different - * version, use the <code>versionId</code> subresource.</p> <p>If you enable - * versioning on the target bucket, Amazon S3 generates a unique version ID for the - * object being copied. This version ID is different from the version ID of the - * source object. Amazon S3 returns the version ID of the copied object in the - * <code>x-amz-version-id</code> response header in the response.</p> <p>If you do - * not enable versioning or suspend it on the target bucket, the version ID that - * Amazon S3 generates is always null.</p> <p>If the source object's storage class - * is GLACIER, you must restore a copy of this object before you can use it as a - * source object for the copy operation. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a>.</p> - * <p>The following operations are related to <code>CopyObject</code>:</p> <ul> - * <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> - * </p> </li> </ul> <p>For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html">Copying - * Objects</a>.</p><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObject">AWS API - * Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for CopyObject that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::CopyObjectOutcomeCallable CopyObjectCallable(const Model::CopyObjectRequest& request) const; + template<typename CopyObjectRequestT = Model::CopyObjectRequest> + Model::CopyObjectOutcomeCallable CopyObjectCallable(const CopyObjectRequestT& request) const + { + return SubmitCallable(&S3Client::CopyObject, request); + } /** - * <p>Creates a copy of an object that is already stored in Amazon S3.</p> - * <p>You can store individual objects of up to 5 TB in Amazon S3. You create a - * copy of your object up to 5 GB in size in a single atomic action using this API. - * However, to copy an object greater than 5 GB, you must use the multipart upload - * Upload Part - Copy API. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html">Copy - * Object Using the REST Multipart Upload API</a>.</p> <p>All copy requests - * must be authenticated. Additionally, you must have <i>read</i> access to the - * source object and <i>write</i> access to the destination bucket. For more - * information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST - * Authentication</a>. Both the Region that you want to copy the object from and - * the Region that you want to copy the object to must be enabled for your - * account.</p> <p>A copy request might return an error when Amazon S3 receives the - * copy request or while Amazon S3 is copying the files. If the error occurs before - * the copy action starts, you receive a standard Amazon S3 error. If the error - * occurs during the copy operation, the error response is embedded in the - * <code>200 OK</code> response. This means that a <code>200 OK</code> response can - * contain either a success or an error. Design your application to parse the - * contents of the response and handle it appropriately.</p> <p>If the copy is - * successful, you receive a response with information about the copied object.</p> - * <p>If the request is an HTTP 1.1 request, the response is chunk encoded. - * If it were not, it would not contain the content-length, and you would need to - * read the entire body.</p> <p>The copy request charge is based on the - * storage class and Region that you specify for the destination object. For - * pricing information, see <a href="http://aws.amazon.com/s3/pricing/">Amazon S3 - * pricing</a>.</p> <p>Amazon S3 transfer acceleration does not support - * cross-Region copies. If you request a cross-Region copy using a transfer - * acceleration endpoint, you get a 400 <code>Bad Request</code> error. For more - * information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer - * Acceleration</a>.</p> <p> <b>Metadata</b> </p> <p>When copying an - * object, you can preserve all metadata (default) or specify new metadata. - * However, the ACL is not preserved and is set to private for the user making the - * request. To override the default ACL setting, specify a new ACL when generating - * a copy request. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using - * ACLs</a>. </p> <p>To specify whether you want the object metadata copied from - * the source object or replaced with metadata provided in the request, you can - * optionally add the <code>x-amz-metadata-directive</code> header. When you grant - * permissions, you can use the <code>s3:x-amz-metadata-directive</code> condition - * key to enforce certain metadata behavior when objects are uploaded. For more - * information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/amazon-s3-policy-keys.html">Specifying - * Conditions in a Policy</a> in the <i>Amazon S3 Developer Guide</i>. For a - * complete list of Amazon S3-specific condition keys, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html">Actions, - * Resources, and Condition Keys for Amazon S3</a>.</p> <p> <b> - * <code>x-amz-copy-source-if</code> Headers</b> </p> <p>To only copy an object - * under certain conditions, such as whether the <code>Etag</code> matches or - * whether the object was modified before or after a specified date, use the - * following request parameters:</p> <ul> <li> <p> - * <code>x-amz-copy-source-if-match</code> </p> </li> <li> <p> - * <code>x-amz-copy-source-if-none-match</code> </p> </li> <li> <p> - * <code>x-amz-copy-source-if-unmodified-since</code> </p> </li> <li> <p> - * <code>x-amz-copy-source-if-modified-since</code> </p> </li> </ul> <p> If both - * the <code>x-amz-copy-source-if-match</code> and - * <code>x-amz-copy-source-if-unmodified-since</code> headers are present in the - * request and evaluate as follows, Amazon S3 returns <code>200 OK</code> and - * copies the data:</p> <ul> <li> <p> <code>x-amz-copy-source-if-match</code> - * condition evaluates to true</p> </li> <li> <p> - * <code>x-amz-copy-source-if-unmodified-since</code> condition evaluates to - * false</p> </li> </ul> <p>If both the - * <code>x-amz-copy-source-if-none-match</code> and - * <code>x-amz-copy-source-if-modified-since</code> headers are present in the - * request and evaluate as follows, Amazon S3 returns the <code>412 Precondition - * Failed</code> response code:</p> <ul> <li> <p> - * <code>x-amz-copy-source-if-none-match</code> condition evaluates to false</p> - * </li> <li> <p> <code>x-amz-copy-source-if-modified-since</code> condition - * evaluates to true</p> </li> </ul> <p>All headers with the - * <code>x-amz-</code> prefix, including <code>x-amz-copy-source</code>, must be - * signed.</p> <p> <b>Server-side encryption</b> </p> <p>When you perform a - * CopyObject operation, you can optionally use the appropriate encryption-related - * headers to encrypt the object using server-side encryption with AWS managed - * encryption keys (SSE-S3 or SSE-KMS) or a customer-provided encryption key. With - * server-side encryption, Amazon S3 encrypts your data as it writes it to disks in - * its data centers and decrypts the data when you access it. For more information - * about server-side encryption, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Using - * Server-Side Encryption</a>.</p> <p>If a target object uses SSE-KMS, you can - * enable an S3 Bucket Key for the object. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 - * Bucket Keys</a> in the <i>Amazon S3 User Guide</i>.</p> <p> <b>Access Control - * List (ACL)-Specific Request Headers</b> </p> <p>When copying an object, you can - * optionally use headers to grant ACL-based permissions. By default, all objects - * are private. Only the owner has full access control. When adding a new object, - * you can grant permissions to individual AWS accounts or to predefined groups - * defined by Amazon S3. These permissions are then added to the ACL on the object. - * For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access - * Control List (ACL) Overview</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html">Managing - * ACLs Using the REST API</a>. </p> <p> <b>Storage Class Options</b> </p> <p>You - * can use the <code>CopyObject</code> action to change the storage class of an - * object that is already stored in Amazon S3 using the <code>StorageClass</code> - * parameter. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage - * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> <p> - * <b>Versioning</b> </p> <p>By default, <code>x-amz-copy-source</code> identifies - * the current version of an object to copy. If the current version is a delete - * marker, Amazon S3 behaves as if the object was deleted. To copy a different - * version, use the <code>versionId</code> subresource.</p> <p>If you enable - * versioning on the target bucket, Amazon S3 generates a unique version ID for the - * object being copied. This version ID is different from the version ID of the - * source object. Amazon S3 returns the version ID of the copied object in the - * <code>x-amz-version-id</code> response header in the response.</p> <p>If you do - * not enable versioning or suspend it on the target bucket, the version ID that - * Amazon S3 generates is always null.</p> <p>If the source object's storage class - * is GLACIER, you must restore a copy of this object before you can use it as a - * source object for the copy operation. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a>.</p> - * <p>The following operations are related to <code>CopyObject</code>:</p> <ul> - * <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> - * </p> </li> </ul> <p>For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html">Copying - * Objects</a>.</p><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObject">AWS API - * Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for CopyObject that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void CopyObjectAsync(const Model::CopyObjectRequest& request, const CopyObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename CopyObjectRequestT = Model::CopyObjectRequest> + void CopyObjectAsync(const CopyObjectRequestT& request, const CopyObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::CopyObject, request, handler, context); + } /** * <p>Creates a new S3 bucket. To create a bucket, you must register with Amazon S3 - * and have a valid AWS Access Key ID to authenticate requests. Anonymous requests - * are never allowed to create buckets. By creating the bucket, you become the - * bucket owner.</p> <p>Not every string is an acceptable bucket name. For - * information about bucket naming restrictions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html">Working - * with Amazon S3 buckets</a>. </p> <p>If you want to create an Amazon S3 on - * Outposts bucket, see <a + * and have a valid Amazon Web Services Access Key ID to authenticate requests. + * Anonymous requests are never allowed to create buckets. By creating the bucket, + * you become the bucket owner.</p> <p>Not every string is an acceptable bucket + * name. For information about bucket naming restrictions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html">Bucket + * naming rules</a>.</p> <p>If you want to create an Amazon S3 on Outposts bucket, + * see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html">Create * Bucket</a>. </p> <p>By default, the bucket is created in the US East (N. * Virginia) Region. You can optionally specify a Region in the request body. You @@ -1229,40 +415,67 @@ namespace Aws * bucket in a Region other than US East (N. Virginia), your application must be * able to handle 307 redirect. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html">Virtual - * hosting of buckets</a>.</p> <p>When creating a bucket using this - * operation, you can optionally specify the accounts or groups that should be - * granted specific permissions on the bucket. There are two ways to grant the - * appropriate permissions using the request headers.</p> <ul> <li> <p>Specify a - * canned ACL using the <code>x-amz-acl</code> request header. Amazon S3 supports a - * set of predefined ACLs, known as <i>canned ACLs</i>. Each canned ACL has a - * predefined set of grantees and permissions. For more information, see <a + * hosting of buckets</a>.</p> <p> <b>Access control lists (ACLs)</b> </p> + * <p>When creating a bucket using this operation, you can optionally configure the + * bucket ACL to specify the accounts or groups that should be granted specific + * permissions on the bucket.</p> <p>If your CreateBucket request sets + * bucket owner enforced for S3 Object Ownership and specifies a bucket ACL that + * provides access to an external Amazon Web Services account, your request fails + * with a <code>400</code> error and returns the + * <code>InvalidBucketAclWithObjectOwnership</code> error code. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html">Controlling + * object ownership</a> in the <i>Amazon S3 User Guide</i>.</p> + * <p>There are two ways to grant the appropriate permissions using the request + * headers.</p> <ul> <li> <p>Specify a canned ACL using the <code>x-amz-acl</code> + * request header. Amazon S3 supports a set of predefined ACLs, known as <i>canned + * ACLs</i>. Each canned ACL has a predefined set of grantees and permissions. For + * more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly using the * <code>x-amz-grant-read</code>, <code>x-amz-grant-write</code>, * <code>x-amz-grant-read-acp</code>, <code>x-amz-grant-write-acp</code>, and * <code>x-amz-grant-full-control</code> headers. These headers map to the set of * permissions Amazon S3 supports in an ACL. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html">Access * control list (ACL) overview</a>.</p> <p>You specify each grantee as a type=value * pair, where the type is one of the following:</p> <ul> <li> <p> <code>id</code> - * – if the value specified is the canonical user ID of an AWS account</p> </li> - * <li> <p> <code>uri</code> – if you are granting permissions to a predefined - * group</p> </li> <li> <p> <code>emailAddress</code> – if the value specified is - * the email address of an AWS account</p> <p>Using email addresses to - * specify a grantee is only supported in the following AWS Regions: </p> <ul> <li> - * <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> - * <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> - * <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> - * <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> - * </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * – if the value specified is the canonical user ID of an Amazon Web Services + * account</p> </li> <li> <p> <code>uri</code> – if you are granting permissions to + * a predefined group</p> </li> <li> <p> <code>emailAddress</code> – if the value + * specified is the email address of an Amazon Web Services account</p> + * <p>Using email addresses to specify a grantee is only supported in the following + * Amazon Web Services Regions: </p> <ul> <li> <p>US East (N. Virginia)</p> </li> + * <li> <p>US West (N. California)</p> </li> <li> <p> US West (Oregon)</p> </li> + * <li> <p> Asia Pacific (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> + * </li> <li> <p>Asia Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> + * <li> <p>South America (São Paulo)</p> </li> </ul> <p>For a list of all the + * Amazon S3 supported Regions and endpoints, see <a * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p>For - * example, the following <code>x-amz-grant-read</code> header grants the AWS - * accounts identified by account IDs permissions to read object data and its - * metadata:</p> <p> <code>x-amz-grant-read: id="11112222333", id="444455556666" - * </code> </p> </li> </ul> <p>You can use either a canned ACL or specify - * access permissions explicitly. You cannot do both.</p> <p>The following - * operations are related to <code>CreateBucket</code>:</p> <ul> <li> <p> <a + * and Endpoints</a> in the Amazon Web Services General Reference.</p> + * </li> </ul> <p>For example, the following <code>x-amz-grant-read</code> header + * grants the Amazon Web Services accounts identified by account IDs permissions to + * read object data and its metadata:</p> <p> <code>x-amz-grant-read: + * id="11112222333", id="444455556666" </code> </p> </li> </ul> <p>You can + * use either a canned ACL or specify access permissions explicitly. You cannot do + * both.</p> <p> <b>Permissions</b> </p> <p>In addition to + * <code>s3:CreateBucket</code>, the following permissions are required when your + * CreateBucket includes specific headers:</p> <ul> <li> <p> <b>ACLs</b> - If your + * <code>CreateBucket</code> request specifies ACL permissions and the ACL is + * public-read, public-read-write, authenticated-read, or if you specify access + * permissions explicitly through any other ACL, both <code>s3:CreateBucket</code> + * and <code>s3:PutBucketAcl</code> permissions are needed. If the ACL the + * <code>CreateBucket</code> request is private or doesn't specify any ACLs, only + * <code>s3:CreateBucket</code> permission is needed. </p> </li> <li> <p> <b>Object + * Lock</b> - If <code>ObjectLockEnabledForBucket</code> is set to true in your + * <code>CreateBucket</code> request, + * <code>s3:PutBucketObjectLockConfiguration</code> and + * <code>s3:PutBucketVersioning</code> permissions are required.</p> </li> <li> <p> + * <b>S3 Object Ownership</b> - If your CreateBucket request includes the the + * <code>x-amz-object-ownership</code> header, + * <code>s3:PutBucketOwnershipControls</code> permission is required.</p> </li> + * </ul> <p>The following operations are related to <code>CreateBucket</code>:</p> + * <ul> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> * </p> </li> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> @@ -1273,144 +486,22 @@ namespace Aws virtual Model::CreateBucketOutcome CreateBucket(const Model::CreateBucketRequest& request) const; /** - * <p>Creates a new S3 bucket. To create a bucket, you must register with Amazon S3 - * and have a valid AWS Access Key ID to authenticate requests. Anonymous requests - * are never allowed to create buckets. By creating the bucket, you become the - * bucket owner.</p> <p>Not every string is an acceptable bucket name. For - * information about bucket naming restrictions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html">Working - * with Amazon S3 buckets</a>. </p> <p>If you want to create an Amazon S3 on - * Outposts bucket, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html">Create - * Bucket</a>. </p> <p>By default, the bucket is created in the US East (N. - * Virginia) Region. You can optionally specify a Region in the request body. You - * might choose a Region to optimize latency, minimize costs, or address regulatory - * requirements. For example, if you reside in Europe, you will probably find it - * advantageous to create buckets in the Europe (Ireland) Region. For more - * information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">Accessing - * a bucket</a>.</p> <p>If you send your create bucket request to the - * <code>s3.amazonaws.com</code> endpoint, the request goes to the us-east-1 - * Region. Accordingly, the signature calculations in Signature Version 4 must use - * us-east-1 as the Region, even if the location constraint in the request - * specifies another Region where the bucket is to be created. If you create a - * bucket in a Region other than US East (N. Virginia), your application must be - * able to handle 307 redirect. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html">Virtual - * hosting of buckets</a>.</p> <p>When creating a bucket using this - * operation, you can optionally specify the accounts or groups that should be - * granted specific permissions on the bucket. There are two ways to grant the - * appropriate permissions using the request headers.</p> <ul> <li> <p>Specify a - * canned ACL using the <code>x-amz-acl</code> request header. Amazon S3 supports a - * set of predefined ACLs, known as <i>canned ACLs</i>. Each canned ACL has a - * predefined set of grantees and permissions. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned - * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly using the - * <code>x-amz-grant-read</code>, <code>x-amz-grant-write</code>, - * <code>x-amz-grant-read-acp</code>, <code>x-amz-grant-write-acp</code>, and - * <code>x-amz-grant-full-control</code> headers. These headers map to the set of - * permissions Amazon S3 supports in an ACL. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access - * control list (ACL) overview</a>.</p> <p>You specify each grantee as a type=value - * pair, where the type is one of the following:</p> <ul> <li> <p> <code>id</code> - * – if the value specified is the canonical user ID of an AWS account</p> </li> - * <li> <p> <code>uri</code> – if you are granting permissions to a predefined - * group</p> </li> <li> <p> <code>emailAddress</code> – if the value specified is - * the email address of an AWS account</p> <p>Using email addresses to - * specify a grantee is only supported in the following AWS Regions: </p> <ul> <li> - * <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> - * <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> - * <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> - * <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> - * </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a - * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p>For - * example, the following <code>x-amz-grant-read</code> header grants the AWS - * accounts identified by account IDs permissions to read object data and its - * metadata:</p> <p> <code>x-amz-grant-read: id="11112222333", id="444455556666" - * </code> </p> </li> </ul> <p>You can use either a canned ACL or specify - * access permissions explicitly. You cannot do both.</p> <p>The following - * operations are related to <code>CreateBucket</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucket">AWS API - * Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for CreateBucket that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::CreateBucketOutcomeCallable CreateBucketCallable(const Model::CreateBucketRequest& request) const; + template<typename CreateBucketRequestT = Model::CreateBucketRequest> + Model::CreateBucketOutcomeCallable CreateBucketCallable(const CreateBucketRequestT& request) const + { + return SubmitCallable(&S3Client::CreateBucket, request); + } /** - * <p>Creates a new S3 bucket. To create a bucket, you must register with Amazon S3 - * and have a valid AWS Access Key ID to authenticate requests. Anonymous requests - * are never allowed to create buckets. By creating the bucket, you become the - * bucket owner.</p> <p>Not every string is an acceptable bucket name. For - * information about bucket naming restrictions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html">Working - * with Amazon S3 buckets</a>. </p> <p>If you want to create an Amazon S3 on - * Outposts bucket, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html">Create - * Bucket</a>. </p> <p>By default, the bucket is created in the US East (N. - * Virginia) Region. You can optionally specify a Region in the request body. You - * might choose a Region to optimize latency, minimize costs, or address regulatory - * requirements. For example, if you reside in Europe, you will probably find it - * advantageous to create buckets in the Europe (Ireland) Region. For more - * information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">Accessing - * a bucket</a>.</p> <p>If you send your create bucket request to the - * <code>s3.amazonaws.com</code> endpoint, the request goes to the us-east-1 - * Region. Accordingly, the signature calculations in Signature Version 4 must use - * us-east-1 as the Region, even if the location constraint in the request - * specifies another Region where the bucket is to be created. If you create a - * bucket in a Region other than US East (N. Virginia), your application must be - * able to handle 307 redirect. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html">Virtual - * hosting of buckets</a>.</p> <p>When creating a bucket using this - * operation, you can optionally specify the accounts or groups that should be - * granted specific permissions on the bucket. There are two ways to grant the - * appropriate permissions using the request headers.</p> <ul> <li> <p>Specify a - * canned ACL using the <code>x-amz-acl</code> request header. Amazon S3 supports a - * set of predefined ACLs, known as <i>canned ACLs</i>. Each canned ACL has a - * predefined set of grantees and permissions. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned - * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly using the - * <code>x-amz-grant-read</code>, <code>x-amz-grant-write</code>, - * <code>x-amz-grant-read-acp</code>, <code>x-amz-grant-write-acp</code>, and - * <code>x-amz-grant-full-control</code> headers. These headers map to the set of - * permissions Amazon S3 supports in an ACL. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access - * control list (ACL) overview</a>.</p> <p>You specify each grantee as a type=value - * pair, where the type is one of the following:</p> <ul> <li> <p> <code>id</code> - * – if the value specified is the canonical user ID of an AWS account</p> </li> - * <li> <p> <code>uri</code> – if you are granting permissions to a predefined - * group</p> </li> <li> <p> <code>emailAddress</code> – if the value specified is - * the email address of an AWS account</p> <p>Using email addresses to - * specify a grantee is only supported in the following AWS Regions: </p> <ul> <li> - * <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> - * <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> - * <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> - * <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> - * </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a - * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p>For - * example, the following <code>x-amz-grant-read</code> header grants the AWS - * accounts identified by account IDs permissions to read object data and its - * metadata:</p> <p> <code>x-amz-grant-read: id="11112222333", id="444455556666" - * </code> </p> </li> </ul> <p>You can use either a canned ACL or specify - * access permissions explicitly. You cannot do both.</p> <p>The following - * operations are related to <code>CreateBucket</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucket">AWS API - * Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for CreateBucket that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void CreateBucketAsync(const Model::CreateBucketRequest& request, const CreateBucketResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename CreateBucketRequestT = Model::CreateBucketRequest> + void CreateBucketAsync(const CreateBucketRequestT& request, const CreateBucketResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::CreateBucket, request, handler, context); + } /** * <p>This action initiates a multipart upload and returns an upload ID. This @@ -1438,33 +529,34 @@ namespace Aws * sign each request individually. There is nothing special about signing multipart * upload requests. For more information about signing, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html">Authenticating - * Requests (AWS Signature Version 4)</a>.</p> <p> After you initiate a - * multipart upload and upload one or more parts, to stop being charged for storing - * the uploaded parts, you must either complete or abort the multipart upload. - * Amazon S3 frees up the space used to store the parts and stop charging you for - * storing them only after you either complete or abort a multipart upload. </p> - * <p>You can optionally request server-side encryption. For server-side - * encryption, Amazon S3 encrypts your data as it writes it to disks in its data - * centers and decrypts it when you access it. You can provide your own encryption - * key, or use AWS Key Management Service (AWS KMS) customer master keys (CMKs) or - * Amazon S3-managed encryption keys. If you choose to provide your own encryption - * key, the request headers you provide in <a + * Requests (Amazon Web Services Signature Version 4)</a>.</p> <p> After you + * initiate a multipart upload and upload one or more parts, to stop being charged + * for storing the uploaded parts, you must either complete or abort the multipart + * upload. Amazon S3 frees up the space used to store the parts and stop charging + * you for storing them only after you either complete or abort a multipart upload. + * </p> <p>You can optionally request server-side encryption. For + * server-side encryption, Amazon S3 encrypts your data as it writes it to disks in + * its data centers and decrypts it when you access it. You can provide your own + * encryption key, or use Amazon Web Services KMS keys or Amazon S3-managed + * encryption keys. If you choose to provide your own encryption key, the request + * headers you provide in <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> * and <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a> * requests must match the headers you used in the request to initiate the upload * by using <code>CreateMultipartUpload</code>. </p> <p>To perform a multipart - * upload with encryption using an AWS KMS CMK, the requester must have permission - * to the <code>kms:Encrypt</code>, <code>kms:Decrypt</code>, - * <code>kms:ReEncrypt*</code>, <code>kms:GenerateDataKey*</code>, and - * <code>kms:DescribeKey</code> actions on the key. These permissions are required - * because Amazon S3 must decrypt and read data from the encrypted file parts - * before it completes the multipart upload.</p> <p>If your AWS Identity and Access - * Management (IAM) user or role is in the same AWS account as the AWS KMS CMK, - * then you must have these permissions on the key policy. If your IAM user or role - * belongs to a different account than the key, then you must have the permissions - * on both the key policy and your IAM user or role.</p> <p> For more information, - * see <a + * upload with encryption using an Amazon Web Services KMS key, the requester must + * have permission to the <code>kms:Decrypt</code> and + * <code>kms:GenerateDataKey*</code> actions on the key. These permissions are + * required because Amazon S3 must decrypt and read data from the encrypted file + * parts before it completes the multipart upload. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions">Multipart + * upload API and permissions</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If + * your Identity and Access Management (IAM) user or role is in the same Amazon Web + * Services account as the KMS key, then you must have these permissions on the key + * policy. If your IAM user or role belongs to a different account than the key, + * then you must have the permissions on both the key policy and your IAM user or + * role.</p> <p> For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting * Data Using Server-Side Encryption</a>.</p> <dl> <dt>Access Permissions</dt> <dd> * <p>When copying an object, you can optionally specify the accounts or groups @@ -1485,35 +577,37 @@ namespace Aws * optionally tell Amazon S3 to encrypt data at rest using server-side encryption. * Server-side encryption is for data encryption at rest. Amazon S3 encrypts your * data as it writes it to disks in its data centers and decrypts it when you - * access it. The option you use depends on whether you want to use AWS managed - * encryption keys or provide your own encryption key. </p> <ul> <li> <p>Use - * encryption keys managed by Amazon S3 or customer master keys (CMKs) stored in - * AWS Key Management Service (AWS KMS) – If you want AWS to manage the keys used - * to encrypt data, specify the following headers in the request.</p> <ul> <li> - * <p>x-amz-server-side-encryption</p> </li> <li> - * <p>x-amz-server-side-encryption-aws-kms-key-id</p> </li> <li> - * <p>x-amz-server-side-encryption-context</p> </li> </ul> <p>If you specify - * <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide - * <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS - * managed CMK in AWS KMS to protect the data.</p> <p>All GET - * and PUT requests for an object protected by AWS KMS fail if you don't make them - * with SSL or by using SigV4.</p> <p>For more information about - * server-side encryption with CMKs stored in AWS KMS (SSE-KMS), see <a + * access it. The option you use depends on whether you want to use Amazon Web + * Services managed encryption keys or provide your own encryption key. </p> <ul> + * <li> <p>Use encryption keys managed by Amazon S3 or customer managed key stored + * in Amazon Web Services Key Management Service (Amazon Web Services KMS) – If you + * want Amazon Web Services to manage the keys used to encrypt data, specify the + * following headers in the request.</p> <ul> <li> <p> + * <code>x-amz-server-side-encryption</code> </p> </li> <li> <p> + * <code>x-amz-server-side-encryption-aws-kms-key-id</code> </p> </li> <li> <p> + * <code>x-amz-server-side-encryption-context</code> </p> </li> </ul> <p>If + * you specify <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide + * <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the + * Amazon Web Services managed key in Amazon Web Services KMS to protect the + * data.</p> <p>All GET and PUT requests for an object + * protected by Amazon Web Services KMS fail if you don't make them with SSL or by + * using SigV4.</p> <p>For more information about server-side + * encryption with KMS key (SSE-KMS), see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting - * Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.</p> </li> - * <li> <p>Use customer-provided encryption keys – If you want to manage your own - * encryption keys, provide all the following headers in the request.</p> <ul> <li> - * <p>x-amz-server-side-encryption-customer-algorithm</p> </li> <li> - * <p>x-amz-server-side-encryption-customer-key</p> </li> <li> - * <p>x-amz-server-side-encryption-customer-key-MD5</p> </li> </ul> <p>For more - * information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS), + * Data Using Server-Side Encryption with KMS keys</a>.</p> </li> <li> <p>Use + * customer-provided encryption keys – If you want to manage your own encryption + * keys, provide all the following headers in the request.</p> <ul> <li> <p> + * <code>x-amz-server-side-encryption-customer-algorithm</code> </p> </li> <li> <p> + * <code>x-amz-server-side-encryption-customer-key</code> </p> </li> <li> <p> + * <code>x-amz-server-side-encryption-customer-key-MD5</code> </p> </li> </ul> + * <p>For more information about server-side encryption with KMS keys (SSE-KMS), * see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting - * Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.</p> </li> - * </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd> - * <p>You also can use the following access control–related headers with this - * operation. By default, all objects are private. Only the owner has full access - * control. When adding a new object, you can grant permissions to individual AWS + * Data Using Server-Side Encryption with KMS keys</a>.</p> </li> </ul> </dd> + * <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd> <p>You also can + * use the following access control–related headers with this operation. By + * default, all objects are private. Only the owner has full access control. When + * adding a new object, you can grant permissions to individual Amazon Web Services * accounts or to predefined groups defined by Amazon S3. These permissions are * then added to the access control list (ACL) on the object. For more information, * see <a @@ -1525,34 +619,38 @@ namespace Aws * permissions. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly — To explicitly - * grant access permissions to specific AWS accounts or groups, use the following - * headers. Each header maps to specific permissions that Amazon S3 supports in an - * ACL. For more information, see <a + * grant access permissions to specific Amazon Web Services accounts or groups, use + * the following headers. Each header maps to specific permissions that Amazon S3 + * supports in an ACL. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access * Control List (ACL) Overview</a>. In the header, you specify a list of grantees * who get the specific permission. To grant permissions explicitly, use:</p> <ul> - * <li> <p>x-amz-grant-read</p> </li> <li> <p>x-amz-grant-write</p> </li> <li> - * <p>x-amz-grant-read-acp</p> </li> <li> <p>x-amz-grant-write-acp</p> </li> <li> - * <p>x-amz-grant-full-control</p> </li> </ul> <p>You specify each grantee as a - * type=value pair, where the type is one of the following:</p> <ul> <li> <p> - * <code>id</code> – if the value specified is the canonical user ID of an AWS - * account</p> </li> <li> <p> <code>uri</code> – if you are granting permissions to - * a predefined group</p> </li> <li> <p> <code>emailAddress</code> – if the value - * specified is the email address of an AWS account</p> <p>Using email - * addresses to specify a grantee is only supported in the following AWS Regions: - * </p> <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. - * California)</p> </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific - * (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia - * Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South - * America (São Paulo)</p> </li> </ul> <p>For a list of all the Amazon S3 supported - * Regions and endpoints, see <a + * <li> <p> <code>x-amz-grant-read</code> </p> </li> <li> <p> + * <code>x-amz-grant-write</code> </p> </li> <li> <p> + * <code>x-amz-grant-read-acp</code> </p> </li> <li> <p> + * <code>x-amz-grant-write-acp</code> </p> </li> <li> <p> + * <code>x-amz-grant-full-control</code> </p> </li> </ul> <p>You specify each + * grantee as a type=value pair, where the type is one of the following:</p> <ul> + * <li> <p> <code>id</code> – if the value specified is the canonical user ID of an + * Amazon Web Services account</p> </li> <li> <p> <code>uri</code> – if you are + * granting permissions to a predefined group</p> </li> <li> <p> + * <code>emailAddress</code> – if the value specified is the email address of an + * Amazon Web Services account</p> <p>Using email addresses to specify a + * grantee is only supported in the following Amazon Web Services Regions: </p> + * <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> + * </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> + * </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> + * </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> + * </li> </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, + * see <a * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p>For - * example, the following <code>x-amz-grant-read</code> header grants the AWS - * accounts identified by account IDs permissions to read object data and its - * metadata:</p> <p> <code>x-amz-grant-read: id="11112222333", id="444455556666" - * </code> </p> </li> </ul> </dd> </dl> <p>The following operations are related to - * <code>CreateMultipartUpload</code>:</p> <ul> <li> <p> <a + * and Endpoints</a> in the Amazon Web Services General Reference.</p> + * </li> </ul> <p>For example, the following <code>x-amz-grant-read</code> header + * grants the Amazon Web Services accounts identified by account IDs permissions to + * read object data and its metadata:</p> <p> <code>x-amz-grant-read: + * id="11112222333", id="444455556666" </code> </p> </li> </ul> </dd> </dl> <p>The + * following operations are related to <code>CreateMultipartUpload</code>:</p> <ul> + * <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> * </p> </li> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> @@ -1569,320 +667,22 @@ namespace Aws virtual Model::CreateMultipartUploadOutcome CreateMultipartUpload(const Model::CreateMultipartUploadRequest& request) const; /** - * <p>This action initiates a multipart upload and returns an upload ID. This - * upload ID is used to associate all of the parts in the specific multipart - * upload. You specify this upload ID in each of your subsequent upload part - * requests (see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a>). - * You also include this upload ID in the final request to either complete or abort - * the multipart upload request.</p> <p>For more information about multipart - * uploads, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html">Multipart - * Upload Overview</a>.</p> <p>If you have configured a lifecycle rule to abort - * incomplete multipart uploads, the upload must complete within the number of days - * specified in the bucket lifecycle configuration. Otherwise, the incomplete - * multipart upload becomes eligible for an abort action and Amazon S3 aborts the - * multipart upload. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting - * Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.</p> <p>For - * information about the permissions required to use the multipart upload API, see - * <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart - * Upload and Permissions</a>.</p> <p>For request signing, multipart upload is just - * a series of regular requests. You initiate a multipart upload, send one or more - * requests to upload parts, and then complete the multipart upload process. You - * sign each request individually. There is nothing special about signing multipart - * upload requests. For more information about signing, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html">Authenticating - * Requests (AWS Signature Version 4)</a>.</p> <p> After you initiate a - * multipart upload and upload one or more parts, to stop being charged for storing - * the uploaded parts, you must either complete or abort the multipart upload. - * Amazon S3 frees up the space used to store the parts and stop charging you for - * storing them only after you either complete or abort a multipart upload. </p> - * <p>You can optionally request server-side encryption. For server-side - * encryption, Amazon S3 encrypts your data as it writes it to disks in its data - * centers and decrypts it when you access it. You can provide your own encryption - * key, or use AWS Key Management Service (AWS KMS) customer master keys (CMKs) or - * Amazon S3-managed encryption keys. If you choose to provide your own encryption - * key, the request headers you provide in <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> - * and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a> - * requests must match the headers you used in the request to initiate the upload - * by using <code>CreateMultipartUpload</code>. </p> <p>To perform a multipart - * upload with encryption using an AWS KMS CMK, the requester must have permission - * to the <code>kms:Encrypt</code>, <code>kms:Decrypt</code>, - * <code>kms:ReEncrypt*</code>, <code>kms:GenerateDataKey*</code>, and - * <code>kms:DescribeKey</code> actions on the key. These permissions are required - * because Amazon S3 must decrypt and read data from the encrypted file parts - * before it completes the multipart upload.</p> <p>If your AWS Identity and Access - * Management (IAM) user or role is in the same AWS account as the AWS KMS CMK, - * then you must have these permissions on the key policy. If your IAM user or role - * belongs to a different account than the key, then you must have the permissions - * on both the key policy and your IAM user or role.</p> <p> For more information, - * see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting - * Data Using Server-Side Encryption</a>.</p> <dl> <dt>Access Permissions</dt> <dd> - * <p>When copying an object, you can optionally specify the accounts or groups - * that should be granted specific permissions on the new object. There are two - * ways to grant the permissions using the request headers:</p> <ul> <li> - * <p>Specify a canned ACL with the <code>x-amz-acl</code> request header. For more - * information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned - * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly with the - * <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>, - * <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> - * headers. These parameters map to the set of permissions that Amazon S3 supports - * in an ACL. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access - * Control List (ACL) Overview</a>.</p> </li> </ul> <p>You can use either a canned - * ACL or specify access permissions explicitly. You cannot do both.</p> </dd> - * <dt>Server-Side- Encryption-Specific Request Headers</dt> <dd> <p>You can - * optionally tell Amazon S3 to encrypt data at rest using server-side encryption. - * Server-side encryption is for data encryption at rest. Amazon S3 encrypts your - * data as it writes it to disks in its data centers and decrypts it when you - * access it. The option you use depends on whether you want to use AWS managed - * encryption keys or provide your own encryption key. </p> <ul> <li> <p>Use - * encryption keys managed by Amazon S3 or customer master keys (CMKs) stored in - * AWS Key Management Service (AWS KMS) – If you want AWS to manage the keys used - * to encrypt data, specify the following headers in the request.</p> <ul> <li> - * <p>x-amz-server-side-encryption</p> </li> <li> - * <p>x-amz-server-side-encryption-aws-kms-key-id</p> </li> <li> - * <p>x-amz-server-side-encryption-context</p> </li> </ul> <p>If you specify - * <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide - * <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS - * managed CMK in AWS KMS to protect the data.</p> <p>All GET - * and PUT requests for an object protected by AWS KMS fail if you don't make them - * with SSL or by using SigV4.</p> <p>For more information about - * server-side encryption with CMKs stored in AWS KMS (SSE-KMS), see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting - * Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.</p> </li> - * <li> <p>Use customer-provided encryption keys – If you want to manage your own - * encryption keys, provide all the following headers in the request.</p> <ul> <li> - * <p>x-amz-server-side-encryption-customer-algorithm</p> </li> <li> - * <p>x-amz-server-side-encryption-customer-key</p> </li> <li> - * <p>x-amz-server-side-encryption-customer-key-MD5</p> </li> </ul> <p>For more - * information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS), - * see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting - * Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.</p> </li> - * </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd> - * <p>You also can use the following access control–related headers with this - * operation. By default, all objects are private. Only the owner has full access - * control. When adding a new object, you can grant permissions to individual AWS - * accounts or to predefined groups defined by Amazon S3. These permissions are - * then added to the access control list (ACL) on the object. For more information, - * see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using - * ACLs</a>. With this operation, you can grant access permissions using one of the - * following two methods:</p> <ul> <li> <p>Specify a canned ACL - * (<code>x-amz-acl</code>) — Amazon S3 supports a set of predefined ACLs, known as - * <i>canned ACLs</i>. Each canned ACL has a predefined set of grantees and - * permissions. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned - * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly — To explicitly - * grant access permissions to specific AWS accounts or groups, use the following - * headers. Each header maps to specific permissions that Amazon S3 supports in an - * ACL. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access - * Control List (ACL) Overview</a>. In the header, you specify a list of grantees - * who get the specific permission. To grant permissions explicitly, use:</p> <ul> - * <li> <p>x-amz-grant-read</p> </li> <li> <p>x-amz-grant-write</p> </li> <li> - * <p>x-amz-grant-read-acp</p> </li> <li> <p>x-amz-grant-write-acp</p> </li> <li> - * <p>x-amz-grant-full-control</p> </li> </ul> <p>You specify each grantee as a - * type=value pair, where the type is one of the following:</p> <ul> <li> <p> - * <code>id</code> – if the value specified is the canonical user ID of an AWS - * account</p> </li> <li> <p> <code>uri</code> – if you are granting permissions to - * a predefined group</p> </li> <li> <p> <code>emailAddress</code> – if the value - * specified is the email address of an AWS account</p> <p>Using email - * addresses to specify a grantee is only supported in the following AWS Regions: - * </p> <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. - * California)</p> </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific - * (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia - * Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South - * America (São Paulo)</p> </li> </ul> <p>For a list of all the Amazon S3 supported - * Regions and endpoints, see <a - * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p>For - * example, the following <code>x-amz-grant-read</code> header grants the AWS - * accounts identified by account IDs permissions to read object data and its - * metadata:</p> <p> <code>x-amz-grant-read: id="11112222333", id="444455556666" - * </code> </p> </li> </ul> </dd> </dl> <p>The following operations are related to - * <code>CreateMultipartUpload</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for CreateMultipartUpload that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::CreateMultipartUploadOutcomeCallable CreateMultipartUploadCallable(const Model::CreateMultipartUploadRequest& request) const; + template<typename CreateMultipartUploadRequestT = Model::CreateMultipartUploadRequest> + Model::CreateMultipartUploadOutcomeCallable CreateMultipartUploadCallable(const CreateMultipartUploadRequestT& request) const + { + return SubmitCallable(&S3Client::CreateMultipartUpload, request); + } /** - * <p>This action initiates a multipart upload and returns an upload ID. This - * upload ID is used to associate all of the parts in the specific multipart - * upload. You specify this upload ID in each of your subsequent upload part - * requests (see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a>). - * You also include this upload ID in the final request to either complete or abort - * the multipart upload request.</p> <p>For more information about multipart - * uploads, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html">Multipart - * Upload Overview</a>.</p> <p>If you have configured a lifecycle rule to abort - * incomplete multipart uploads, the upload must complete within the number of days - * specified in the bucket lifecycle configuration. Otherwise, the incomplete - * multipart upload becomes eligible for an abort action and Amazon S3 aborts the - * multipart upload. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting - * Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.</p> <p>For - * information about the permissions required to use the multipart upload API, see - * <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart - * Upload and Permissions</a>.</p> <p>For request signing, multipart upload is just - * a series of regular requests. You initiate a multipart upload, send one or more - * requests to upload parts, and then complete the multipart upload process. You - * sign each request individually. There is nothing special about signing multipart - * upload requests. For more information about signing, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html">Authenticating - * Requests (AWS Signature Version 4)</a>.</p> <p> After you initiate a - * multipart upload and upload one or more parts, to stop being charged for storing - * the uploaded parts, you must either complete or abort the multipart upload. - * Amazon S3 frees up the space used to store the parts and stop charging you for - * storing them only after you either complete or abort a multipart upload. </p> - * <p>You can optionally request server-side encryption. For server-side - * encryption, Amazon S3 encrypts your data as it writes it to disks in its data - * centers and decrypts it when you access it. You can provide your own encryption - * key, or use AWS Key Management Service (AWS KMS) customer master keys (CMKs) or - * Amazon S3-managed encryption keys. If you choose to provide your own encryption - * key, the request headers you provide in <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> - * and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a> - * requests must match the headers you used in the request to initiate the upload - * by using <code>CreateMultipartUpload</code>. </p> <p>To perform a multipart - * upload with encryption using an AWS KMS CMK, the requester must have permission - * to the <code>kms:Encrypt</code>, <code>kms:Decrypt</code>, - * <code>kms:ReEncrypt*</code>, <code>kms:GenerateDataKey*</code>, and - * <code>kms:DescribeKey</code> actions on the key. These permissions are required - * because Amazon S3 must decrypt and read data from the encrypted file parts - * before it completes the multipart upload.</p> <p>If your AWS Identity and Access - * Management (IAM) user or role is in the same AWS account as the AWS KMS CMK, - * then you must have these permissions on the key policy. If your IAM user or role - * belongs to a different account than the key, then you must have the permissions - * on both the key policy and your IAM user or role.</p> <p> For more information, - * see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting - * Data Using Server-Side Encryption</a>.</p> <dl> <dt>Access Permissions</dt> <dd> - * <p>When copying an object, you can optionally specify the accounts or groups - * that should be granted specific permissions on the new object. There are two - * ways to grant the permissions using the request headers:</p> <ul> <li> - * <p>Specify a canned ACL with the <code>x-amz-acl</code> request header. For more - * information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned - * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly with the - * <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>, - * <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> - * headers. These parameters map to the set of permissions that Amazon S3 supports - * in an ACL. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access - * Control List (ACL) Overview</a>.</p> </li> </ul> <p>You can use either a canned - * ACL or specify access permissions explicitly. You cannot do both.</p> </dd> - * <dt>Server-Side- Encryption-Specific Request Headers</dt> <dd> <p>You can - * optionally tell Amazon S3 to encrypt data at rest using server-side encryption. - * Server-side encryption is for data encryption at rest. Amazon S3 encrypts your - * data as it writes it to disks in its data centers and decrypts it when you - * access it. The option you use depends on whether you want to use AWS managed - * encryption keys or provide your own encryption key. </p> <ul> <li> <p>Use - * encryption keys managed by Amazon S3 or customer master keys (CMKs) stored in - * AWS Key Management Service (AWS KMS) – If you want AWS to manage the keys used - * to encrypt data, specify the following headers in the request.</p> <ul> <li> - * <p>x-amz-server-side-encryption</p> </li> <li> - * <p>x-amz-server-side-encryption-aws-kms-key-id</p> </li> <li> - * <p>x-amz-server-side-encryption-context</p> </li> </ul> <p>If you specify - * <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide - * <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS - * managed CMK in AWS KMS to protect the data.</p> <p>All GET - * and PUT requests for an object protected by AWS KMS fail if you don't make them - * with SSL or by using SigV4.</p> <p>For more information about - * server-side encryption with CMKs stored in AWS KMS (SSE-KMS), see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting - * Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.</p> </li> - * <li> <p>Use customer-provided encryption keys – If you want to manage your own - * encryption keys, provide all the following headers in the request.</p> <ul> <li> - * <p>x-amz-server-side-encryption-customer-algorithm</p> </li> <li> - * <p>x-amz-server-side-encryption-customer-key</p> </li> <li> - * <p>x-amz-server-side-encryption-customer-key-MD5</p> </li> </ul> <p>For more - * information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS), - * see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting - * Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.</p> </li> - * </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd> - * <p>You also can use the following access control–related headers with this - * operation. By default, all objects are private. Only the owner has full access - * control. When adding a new object, you can grant permissions to individual AWS - * accounts or to predefined groups defined by Amazon S3. These permissions are - * then added to the access control list (ACL) on the object. For more information, - * see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using - * ACLs</a>. With this operation, you can grant access permissions using one of the - * following two methods:</p> <ul> <li> <p>Specify a canned ACL - * (<code>x-amz-acl</code>) — Amazon S3 supports a set of predefined ACLs, known as - * <i>canned ACLs</i>. Each canned ACL has a predefined set of grantees and - * permissions. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned - * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly — To explicitly - * grant access permissions to specific AWS accounts or groups, use the following - * headers. Each header maps to specific permissions that Amazon S3 supports in an - * ACL. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access - * Control List (ACL) Overview</a>. In the header, you specify a list of grantees - * who get the specific permission. To grant permissions explicitly, use:</p> <ul> - * <li> <p>x-amz-grant-read</p> </li> <li> <p>x-amz-grant-write</p> </li> <li> - * <p>x-amz-grant-read-acp</p> </li> <li> <p>x-amz-grant-write-acp</p> </li> <li> - * <p>x-amz-grant-full-control</p> </li> </ul> <p>You specify each grantee as a - * type=value pair, where the type is one of the following:</p> <ul> <li> <p> - * <code>id</code> – if the value specified is the canonical user ID of an AWS - * account</p> </li> <li> <p> <code>uri</code> – if you are granting permissions to - * a predefined group</p> </li> <li> <p> <code>emailAddress</code> – if the value - * specified is the email address of an AWS account</p> <p>Using email - * addresses to specify a grantee is only supported in the following AWS Regions: - * </p> <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. - * California)</p> </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific - * (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia - * Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South - * America (São Paulo)</p> </li> </ul> <p>For a list of all the Amazon S3 supported - * Regions and endpoints, see <a - * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p>For - * example, the following <code>x-amz-grant-read</code> header grants the AWS - * accounts identified by account IDs permissions to read object data and its - * metadata:</p> <p> <code>x-amz-grant-read: id="11112222333", id="444455556666" - * </code> </p> </li> </ul> </dd> </dl> <p>The following operations are related to - * <code>CreateMultipartUpload</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for CreateMultipartUpload that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void CreateMultipartUploadAsync(const Model::CreateMultipartUploadRequest& request, const CreateMultipartUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename CreateMultipartUploadRequestT = Model::CreateMultipartUploadRequest> + void CreateMultipartUploadAsync(const CreateMultipartUploadRequestT& request, const CreateMultipartUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::CreateMultipartUpload, request, handler, context); + } /** * <p>Deletes the S3 bucket. All objects (including all object versions and delete @@ -1898,34 +698,22 @@ namespace Aws virtual Model::DeleteBucketOutcome DeleteBucket(const Model::DeleteBucketRequest& request) const; /** - * <p>Deletes the S3 bucket. All objects (including all object versions and delete - * markers) in the bucket must be deleted before the bucket itself can be - * deleted.</p> <p class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucket">AWS API - * Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for DeleteBucket that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::DeleteBucketOutcomeCallable DeleteBucketCallable(const Model::DeleteBucketRequest& request) const; + template<typename DeleteBucketRequestT = Model::DeleteBucketRequest> + Model::DeleteBucketOutcomeCallable DeleteBucketCallable(const DeleteBucketRequestT& request) const + { + return SubmitCallable(&S3Client::DeleteBucket, request); + } /** - * <p>Deletes the S3 bucket. All objects (including all object versions and delete - * markers) in the bucket must be deleted before the bucket itself can be - * deleted.</p> <p class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucket">AWS API - * Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for DeleteBucket that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void DeleteBucketAsync(const Model::DeleteBucketRequest& request, const DeleteBucketResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename DeleteBucketRequestT = Model::DeleteBucketRequest> + void DeleteBucketAsync(const DeleteBucketRequestT& request, const DeleteBucketResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::DeleteBucket, request, handler, context); + } /** * <p>Deletes an analytics configuration for the bucket (specified by the analytics @@ -1953,58 +741,22 @@ namespace Aws virtual Model::DeleteBucketAnalyticsConfigurationOutcome DeleteBucketAnalyticsConfiguration(const Model::DeleteBucketAnalyticsConfigurationRequest& request) const; /** - * <p>Deletes an analytics configuration for the bucket (specified by the analytics - * configuration ID).</p> <p>To use this operation, you must have permissions to - * perform the <code>s3:PutAnalyticsConfiguration</code> action. The bucket owner - * has this permission by default. The bucket owner can grant this permission to - * others. For more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about - * the Amazon S3 analytics feature, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon - * S3 Analytics – Storage Class Analysis</a>. </p> <p>The following operations are - * related to <code>DeleteBucketAnalyticsConfiguration</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html">GetBucketAnalyticsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html">ListBucketAnalyticsConfigurations</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html">PutBucketAnalyticsConfiguration</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for DeleteBucketAnalyticsConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::DeleteBucketAnalyticsConfigurationOutcomeCallable DeleteBucketAnalyticsConfigurationCallable(const Model::DeleteBucketAnalyticsConfigurationRequest& request) const; + template<typename DeleteBucketAnalyticsConfigurationRequestT = Model::DeleteBucketAnalyticsConfigurationRequest> + Model::DeleteBucketAnalyticsConfigurationOutcomeCallable DeleteBucketAnalyticsConfigurationCallable(const DeleteBucketAnalyticsConfigurationRequestT& request) const + { + return SubmitCallable(&S3Client::DeleteBucketAnalyticsConfiguration, request); + } /** - * <p>Deletes an analytics configuration for the bucket (specified by the analytics - * configuration ID).</p> <p>To use this operation, you must have permissions to - * perform the <code>s3:PutAnalyticsConfiguration</code> action. The bucket owner - * has this permission by default. The bucket owner can grant this permission to - * others. For more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about - * the Amazon S3 analytics feature, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon - * S3 Analytics – Storage Class Analysis</a>. </p> <p>The following operations are - * related to <code>DeleteBucketAnalyticsConfiguration</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html">GetBucketAnalyticsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html">ListBucketAnalyticsConfigurations</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html">PutBucketAnalyticsConfiguration</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for DeleteBucketAnalyticsConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void DeleteBucketAnalyticsConfigurationAsync(const Model::DeleteBucketAnalyticsConfigurationRequest& request, const DeleteBucketAnalyticsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename DeleteBucketAnalyticsConfigurationRequestT = Model::DeleteBucketAnalyticsConfigurationRequest> + void DeleteBucketAnalyticsConfigurationAsync(const DeleteBucketAnalyticsConfigurationRequestT& request, const DeleteBucketAnalyticsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::DeleteBucketAnalyticsConfiguration, request, handler, context); + } /** * <p>Deletes the <code>cors</code> configuration information set for the @@ -2025,44 +777,22 @@ namespace Aws virtual Model::DeleteBucketCorsOutcome DeleteBucketCors(const Model::DeleteBucketCorsRequest& request) const; /** - * <p>Deletes the <code>cors</code> configuration information set for the - * bucket.</p> <p>To use this operation, you must have permission to perform the - * <code>s3:PutBucketCORS</code> action. The bucket owner has this permission by - * default and can grant this permission to others. </p> <p>For information about - * <code>cors</code>, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">Enabling - * Cross-Origin Resource Sharing</a> in the <i>Amazon S3 User Guide</i>.</p> <p - * class="title"> <b>Related Resources:</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html">PutBucketCors</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTOPTIONSobject.html">RESTOPTIONSobject</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for DeleteBucketCors that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::DeleteBucketCorsOutcomeCallable DeleteBucketCorsCallable(const Model::DeleteBucketCorsRequest& request) const; + template<typename DeleteBucketCorsRequestT = Model::DeleteBucketCorsRequest> + Model::DeleteBucketCorsOutcomeCallable DeleteBucketCorsCallable(const DeleteBucketCorsRequestT& request) const + { + return SubmitCallable(&S3Client::DeleteBucketCors, request); + } /** - * <p>Deletes the <code>cors</code> configuration information set for the - * bucket.</p> <p>To use this operation, you must have permission to perform the - * <code>s3:PutBucketCORS</code> action. The bucket owner has this permission by - * default and can grant this permission to others. </p> <p>For information about - * <code>cors</code>, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">Enabling - * Cross-Origin Resource Sharing</a> in the <i>Amazon S3 User Guide</i>.</p> <p - * class="title"> <b>Related Resources:</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html">PutBucketCors</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTOPTIONSobject.html">RESTOPTIONSobject</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for DeleteBucketCors that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void DeleteBucketCorsAsync(const Model::DeleteBucketCorsRequest& request, const DeleteBucketCorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename DeleteBucketCorsRequestT = Model::DeleteBucketCorsRequest> + void DeleteBucketCorsAsync(const DeleteBucketCorsRequestT& request, const DeleteBucketCorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::DeleteBucketCors, request, handler, context); + } /** * <p>This implementation of the DELETE action removes default encryption from the @@ -2088,68 +818,38 @@ namespace Aws virtual Model::DeleteBucketEncryptionOutcome DeleteBucketEncryption(const Model::DeleteBucketEncryptionRequest& request) const; /** - * <p>This implementation of the DELETE action removes default encryption from the - * bucket. For information about the Amazon S3 default encryption feature, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon - * S3 Default Bucket Encryption</a> in the <i>Amazon S3 User Guide</i>.</p> <p>To - * use this operation, you must have permissions to perform the - * <code>s3:PutEncryptionConfiguration</code> action. The bucket owner has this - * permission by default. The bucket owner can grant this permission to others. For - * more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to your Amazon S3 Resources</a> in the <i>Amazon S3 User - * Guide</i>.</p> <p class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html">PutBucketEncryption</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html">GetBucketEncryption</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryption">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for DeleteBucketEncryption that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::DeleteBucketEncryptionOutcomeCallable DeleteBucketEncryptionCallable(const Model::DeleteBucketEncryptionRequest& request) const; + template<typename DeleteBucketEncryptionRequestT = Model::DeleteBucketEncryptionRequest> + Model::DeleteBucketEncryptionOutcomeCallable DeleteBucketEncryptionCallable(const DeleteBucketEncryptionRequestT& request) const + { + return SubmitCallable(&S3Client::DeleteBucketEncryption, request); + } /** - * <p>This implementation of the DELETE action removes default encryption from the - * bucket. For information about the Amazon S3 default encryption feature, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon - * S3 Default Bucket Encryption</a> in the <i>Amazon S3 User Guide</i>.</p> <p>To - * use this operation, you must have permissions to perform the - * <code>s3:PutEncryptionConfiguration</code> action. The bucket owner has this - * permission by default. The bucket owner can grant this permission to others. For - * more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to your Amazon S3 Resources</a> in the <i>Amazon S3 User - * Guide</i>.</p> <p class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html">PutBucketEncryption</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html">GetBucketEncryption</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryption">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for DeleteBucketEncryption that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void DeleteBucketEncryptionAsync(const Model::DeleteBucketEncryptionRequest& request, const DeleteBucketEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename DeleteBucketEncryptionRequestT = Model::DeleteBucketEncryptionRequest> + void DeleteBucketEncryptionAsync(const DeleteBucketEncryptionRequestT& request, const DeleteBucketEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::DeleteBucketEncryption, request, handler, context); + } /** * <p>Deletes the S3 Intelligent-Tiering configuration from the specified * bucket.</p> <p>The S3 Intelligent-Tiering storage class is designed to optimize * storage costs by automatically moving data to the most cost-effective storage - * access tier, without additional operational overhead. S3 Intelligent-Tiering - * delivers automatic cost savings by moving data between access tiers, when access - * patterns change.</p> <p>The S3 Intelligent-Tiering storage class is suitable for - * objects larger than 128 KB that you plan to store for at least 30 days. If the - * size of an object is less than 128 KB, it is not eligible for auto-tiering. - * Smaller objects can be stored, but they are always charged at the frequent - * access tier rates in the S3 Intelligent-Tiering storage class. </p> <p>If you - * delete an object before the end of the 30-day minimum storage duration period, - * you are charged for 30 days. For more information, see <a + * access tier, without performance impact or operational overhead. S3 + * Intelligent-Tiering delivers automatic cost savings in three low latency and + * high throughput access tiers. To get the lowest storage cost on data that can be + * accessed in minutes to hours, you can choose to activate additional archiving + * capabilities.</p> <p>The S3 Intelligent-Tiering storage class is the ideal + * storage class for data with unknown, changing, or unpredictable access patterns, + * independent of object size or retention period. If the size of an object is less + * than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller + * objects can be stored, but they are always charged at the Frequent Access tier + * rates in the S3 Intelligent-Tiering storage class.</p> <p>For more information, + * see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage * class for automatically optimizing frequently and infrequently accessed * objects</a>.</p> <p>Operations related to @@ -2167,66 +867,22 @@ namespace Aws virtual Model::DeleteBucketIntelligentTieringConfigurationOutcome DeleteBucketIntelligentTieringConfiguration(const Model::DeleteBucketIntelligentTieringConfigurationRequest& request) const; /** - * <p>Deletes the S3 Intelligent-Tiering configuration from the specified - * bucket.</p> <p>The S3 Intelligent-Tiering storage class is designed to optimize - * storage costs by automatically moving data to the most cost-effective storage - * access tier, without additional operational overhead. S3 Intelligent-Tiering - * delivers automatic cost savings by moving data between access tiers, when access - * patterns change.</p> <p>The S3 Intelligent-Tiering storage class is suitable for - * objects larger than 128 KB that you plan to store for at least 30 days. If the - * size of an object is less than 128 KB, it is not eligible for auto-tiering. - * Smaller objects can be stored, but they are always charged at the frequent - * access tier rates in the S3 Intelligent-Tiering storage class. </p> <p>If you - * delete an object before the end of the 30-day minimum storage duration period, - * you are charged for 30 days. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage - * class for automatically optimizing frequently and infrequently accessed - * objects</a>.</p> <p>Operations related to - * <code>DeleteBucketIntelligentTieringConfiguration</code> include: </p> <ul> <li> - * <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html">GetBucketIntelligentTieringConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html">PutBucketIntelligentTieringConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html">ListBucketIntelligentTieringConfigurations</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketIntelligentTieringConfiguration">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for DeleteBucketIntelligentTieringConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::DeleteBucketIntelligentTieringConfigurationOutcomeCallable DeleteBucketIntelligentTieringConfigurationCallable(const Model::DeleteBucketIntelligentTieringConfigurationRequest& request) const; + template<typename DeleteBucketIntelligentTieringConfigurationRequestT = Model::DeleteBucketIntelligentTieringConfigurationRequest> + Model::DeleteBucketIntelligentTieringConfigurationOutcomeCallable DeleteBucketIntelligentTieringConfigurationCallable(const DeleteBucketIntelligentTieringConfigurationRequestT& request) const + { + return SubmitCallable(&S3Client::DeleteBucketIntelligentTieringConfiguration, request); + } /** - * <p>Deletes the S3 Intelligent-Tiering configuration from the specified - * bucket.</p> <p>The S3 Intelligent-Tiering storage class is designed to optimize - * storage costs by automatically moving data to the most cost-effective storage - * access tier, without additional operational overhead. S3 Intelligent-Tiering - * delivers automatic cost savings by moving data between access tiers, when access - * patterns change.</p> <p>The S3 Intelligent-Tiering storage class is suitable for - * objects larger than 128 KB that you plan to store for at least 30 days. If the - * size of an object is less than 128 KB, it is not eligible for auto-tiering. - * Smaller objects can be stored, but they are always charged at the frequent - * access tier rates in the S3 Intelligent-Tiering storage class. </p> <p>If you - * delete an object before the end of the 30-day minimum storage duration period, - * you are charged for 30 days. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage - * class for automatically optimizing frequently and infrequently accessed - * objects</a>.</p> <p>Operations related to - * <code>DeleteBucketIntelligentTieringConfiguration</code> include: </p> <ul> <li> - * <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html">GetBucketIntelligentTieringConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html">PutBucketIntelligentTieringConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html">ListBucketIntelligentTieringConfigurations</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketIntelligentTieringConfiguration">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for DeleteBucketIntelligentTieringConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void DeleteBucketIntelligentTieringConfigurationAsync(const Model::DeleteBucketIntelligentTieringConfigurationRequest& request, const DeleteBucketIntelligentTieringConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename DeleteBucketIntelligentTieringConfigurationRequestT = Model::DeleteBucketIntelligentTieringConfigurationRequest> + void DeleteBucketIntelligentTieringConfigurationAsync(const DeleteBucketIntelligentTieringConfigurationRequestT& request, const DeleteBucketIntelligentTieringConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::DeleteBucketIntelligentTieringConfiguration, request, handler, context); + } /** * <p>Deletes an inventory configuration (identified by the inventory ID) from the @@ -2254,58 +910,22 @@ namespace Aws virtual Model::DeleteBucketInventoryConfigurationOutcome DeleteBucketInventoryConfiguration(const Model::DeleteBucketInventoryConfigurationRequest& request) const; /** - * <p>Deletes an inventory configuration (identified by the inventory ID) from the - * bucket.</p> <p>To use this operation, you must have permissions to perform the - * <code>s3:PutInventoryConfiguration</code> action. The bucket owner has this - * permission by default. The bucket owner can grant this permission to others. For - * more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about - * the Amazon S3 inventory feature, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon - * S3 Inventory</a>.</p> <p>Operations related to - * <code>DeleteBucketInventoryConfiguration</code> include: </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html">GetBucketInventoryConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html">PutBucketInventoryConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html">ListBucketInventoryConfigurations</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for DeleteBucketInventoryConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::DeleteBucketInventoryConfigurationOutcomeCallable DeleteBucketInventoryConfigurationCallable(const Model::DeleteBucketInventoryConfigurationRequest& request) const; + template<typename DeleteBucketInventoryConfigurationRequestT = Model::DeleteBucketInventoryConfigurationRequest> + Model::DeleteBucketInventoryConfigurationOutcomeCallable DeleteBucketInventoryConfigurationCallable(const DeleteBucketInventoryConfigurationRequestT& request) const + { + return SubmitCallable(&S3Client::DeleteBucketInventoryConfiguration, request); + } /** - * <p>Deletes an inventory configuration (identified by the inventory ID) from the - * bucket.</p> <p>To use this operation, you must have permissions to perform the - * <code>s3:PutInventoryConfiguration</code> action. The bucket owner has this - * permission by default. The bucket owner can grant this permission to others. For - * more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about - * the Amazon S3 inventory feature, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon - * S3 Inventory</a>.</p> <p>Operations related to - * <code>DeleteBucketInventoryConfiguration</code> include: </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html">GetBucketInventoryConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html">PutBucketInventoryConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html">ListBucketInventoryConfigurations</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for DeleteBucketInventoryConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void DeleteBucketInventoryConfigurationAsync(const Model::DeleteBucketInventoryConfigurationRequest& request, const DeleteBucketInventoryConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename DeleteBucketInventoryConfigurationRequestT = Model::DeleteBucketInventoryConfigurationRequest> + void DeleteBucketInventoryConfigurationAsync(const DeleteBucketInventoryConfigurationRequestT& request, const DeleteBucketInventoryConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::DeleteBucketInventoryConfiguration, request, handler, context); + } /** * <p>Deletes the lifecycle configuration from the specified bucket. Amazon S3 @@ -2331,54 +951,22 @@ namespace Aws virtual Model::DeleteBucketLifecycleOutcome DeleteBucketLifecycle(const Model::DeleteBucketLifecycleRequest& request) const; /** - * <p>Deletes the lifecycle configuration from the specified bucket. Amazon S3 - * removes all the lifecycle configuration rules in the lifecycle subresource - * associated with the bucket. Your objects never expire, and Amazon S3 no longer - * automatically deletes any objects on the basis of rules contained in the deleted - * lifecycle configuration.</p> <p>To use this operation, you must have permission - * to perform the <code>s3:PutLifecycleConfiguration</code> action. By default, the - * bucket owner has this permission and the bucket owner can grant this permission - * to others.</p> <p>There is usually some time lag before lifecycle configuration - * deletion is fully propagated to all the Amazon S3 systems.</p> <p>For more - * information about the object expiration, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions">Elements - * to Describe Lifecycle Actions</a>.</p> <p>Related actions include:</p> <ul> <li> - * <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html">GetBucketLifecycleConfiguration</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for DeleteBucketLifecycle that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::DeleteBucketLifecycleOutcomeCallable DeleteBucketLifecycleCallable(const Model::DeleteBucketLifecycleRequest& request) const; + template<typename DeleteBucketLifecycleRequestT = Model::DeleteBucketLifecycleRequest> + Model::DeleteBucketLifecycleOutcomeCallable DeleteBucketLifecycleCallable(const DeleteBucketLifecycleRequestT& request) const + { + return SubmitCallable(&S3Client::DeleteBucketLifecycle, request); + } /** - * <p>Deletes the lifecycle configuration from the specified bucket. Amazon S3 - * removes all the lifecycle configuration rules in the lifecycle subresource - * associated with the bucket. Your objects never expire, and Amazon S3 no longer - * automatically deletes any objects on the basis of rules contained in the deleted - * lifecycle configuration.</p> <p>To use this operation, you must have permission - * to perform the <code>s3:PutLifecycleConfiguration</code> action. By default, the - * bucket owner has this permission and the bucket owner can grant this permission - * to others.</p> <p>There is usually some time lag before lifecycle configuration - * deletion is fully propagated to all the Amazon S3 systems.</p> <p>For more - * information about the object expiration, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions">Elements - * to Describe Lifecycle Actions</a>.</p> <p>Related actions include:</p> <ul> <li> - * <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html">GetBucketLifecycleConfiguration</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for DeleteBucketLifecycle that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void DeleteBucketLifecycleAsync(const Model::DeleteBucketLifecycleRequest& request, const DeleteBucketLifecycleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename DeleteBucketLifecycleRequestT = Model::DeleteBucketLifecycleRequest> + void DeleteBucketLifecycleAsync(const DeleteBucketLifecycleRequestT& request, const DeleteBucketLifecycleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::DeleteBucketLifecycle, request, handler, context); + } /** * <p>Deletes a metrics configuration for the Amazon CloudWatch request metrics @@ -2409,64 +997,22 @@ namespace Aws virtual Model::DeleteBucketMetricsConfigurationOutcome DeleteBucketMetricsConfiguration(const Model::DeleteBucketMetricsConfigurationRequest& request) const; /** - * <p>Deletes a metrics configuration for the Amazon CloudWatch request metrics - * (specified by the metrics configuration ID) from the bucket. Note that this - * doesn't include the daily storage metrics.</p> <p> To use this operation, you - * must have permissions to perform the <code>s3:PutMetricsConfiguration</code> - * action. The bucket owner has this permission by default. The bucket owner can - * grant this permission to others. For more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about - * CloudWatch request metrics for Amazon S3, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring - * Metrics with Amazon CloudWatch</a>. </p> <p>The following operations are related - * to <code>DeleteBucketMetricsConfiguration</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html">GetBucketMetricsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html">PutBucketMetricsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html">ListBucketMetricsConfigurations</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring - * Metrics with Amazon CloudWatch</a> </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for DeleteBucketMetricsConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::DeleteBucketMetricsConfigurationOutcomeCallable DeleteBucketMetricsConfigurationCallable(const Model::DeleteBucketMetricsConfigurationRequest& request) const; + template<typename DeleteBucketMetricsConfigurationRequestT = Model::DeleteBucketMetricsConfigurationRequest> + Model::DeleteBucketMetricsConfigurationOutcomeCallable DeleteBucketMetricsConfigurationCallable(const DeleteBucketMetricsConfigurationRequestT& request) const + { + return SubmitCallable(&S3Client::DeleteBucketMetricsConfiguration, request); + } /** - * <p>Deletes a metrics configuration for the Amazon CloudWatch request metrics - * (specified by the metrics configuration ID) from the bucket. Note that this - * doesn't include the daily storage metrics.</p> <p> To use this operation, you - * must have permissions to perform the <code>s3:PutMetricsConfiguration</code> - * action. The bucket owner has this permission by default. The bucket owner can - * grant this permission to others. For more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about - * CloudWatch request metrics for Amazon S3, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring - * Metrics with Amazon CloudWatch</a>. </p> <p>The following operations are related - * to <code>DeleteBucketMetricsConfiguration</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html">GetBucketMetricsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html">PutBucketMetricsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html">ListBucketMetricsConfigurations</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring - * Metrics with Amazon CloudWatch</a> </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for DeleteBucketMetricsConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void DeleteBucketMetricsConfigurationAsync(const Model::DeleteBucketMetricsConfigurationRequest& request, const DeleteBucketMetricsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename DeleteBucketMetricsConfigurationRequestT = Model::DeleteBucketMetricsConfigurationRequest> + void DeleteBucketMetricsConfigurationAsync(const DeleteBucketMetricsConfigurationRequestT& request, const DeleteBucketMetricsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::DeleteBucketMetricsConfiguration, request, handler, context); + } /** * <p>Removes <code>OwnershipControls</code> for an Amazon S3 bucket. To use this @@ -2486,56 +1032,37 @@ namespace Aws virtual Model::DeleteBucketOwnershipControlsOutcome DeleteBucketOwnershipControls(const Model::DeleteBucketOwnershipControlsRequest& request) const; /** - * <p>Removes <code>OwnershipControls</code> for an Amazon S3 bucket. To use this - * operation, you must have the <code>s3:PutBucketOwnershipControls</code> - * permission. For more information about Amazon S3 permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying - * Permissions in a Policy</a>.</p> <p>For information about Amazon S3 Object - * Ownership, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html">Using - * Object Ownership</a>. </p> <p>The following operations are related to - * <code>DeleteBucketOwnershipControls</code>:</p> <ul> <li> <p> - * <a>GetBucketOwnershipControls</a> </p> </li> <li> <p> - * <a>PutBucketOwnershipControls</a> </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketOwnershipControls">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for DeleteBucketOwnershipControls that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::DeleteBucketOwnershipControlsOutcomeCallable DeleteBucketOwnershipControlsCallable(const Model::DeleteBucketOwnershipControlsRequest& request) const; + template<typename DeleteBucketOwnershipControlsRequestT = Model::DeleteBucketOwnershipControlsRequest> + Model::DeleteBucketOwnershipControlsOutcomeCallable DeleteBucketOwnershipControlsCallable(const DeleteBucketOwnershipControlsRequestT& request) const + { + return SubmitCallable(&S3Client::DeleteBucketOwnershipControls, request); + } /** - * <p>Removes <code>OwnershipControls</code> for an Amazon S3 bucket. To use this - * operation, you must have the <code>s3:PutBucketOwnershipControls</code> - * permission. For more information about Amazon S3 permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying - * Permissions in a Policy</a>.</p> <p>For information about Amazon S3 Object - * Ownership, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html">Using - * Object Ownership</a>. </p> <p>The following operations are related to - * <code>DeleteBucketOwnershipControls</code>:</p> <ul> <li> <p> - * <a>GetBucketOwnershipControls</a> </p> </li> <li> <p> - * <a>PutBucketOwnershipControls</a> </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketOwnershipControls">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for DeleteBucketOwnershipControls that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void DeleteBucketOwnershipControlsAsync(const Model::DeleteBucketOwnershipControlsRequest& request, const DeleteBucketOwnershipControlsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename DeleteBucketOwnershipControlsRequestT = Model::DeleteBucketOwnershipControlsRequest> + void DeleteBucketOwnershipControlsAsync(const DeleteBucketOwnershipControlsRequestT& request, const DeleteBucketOwnershipControlsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::DeleteBucketOwnershipControls, request, handler, context); + } /** * <p>This implementation of the DELETE action uses the policy subresource to * delete the policy of a specified bucket. If you are using an identity other than - * the root user of the AWS account that owns the bucket, the calling identity must - * have the <code>DeleteBucketPolicy</code> permissions on the specified bucket and - * belong to the bucket owner's account to use this operation. </p> <p>If you don't - * have <code>DeleteBucketPolicy</code> permissions, Amazon S3 returns a <code>403 - * Access Denied</code> error. If you have the correct permissions, but you're not - * using an identity that belongs to the bucket owner's account, Amazon S3 returns - * a <code>405 Method Not Allowed</code> error. </p> <p>As a security - * precaution, the root user of the AWS account that owns a bucket can always use - * this operation, even if the policy explicitly denies the root user the ability - * to perform this action.</p> <p>For more information about bucket + * the root user of the Amazon Web Services account that owns the bucket, the + * calling identity must have the <code>DeleteBucketPolicy</code> permissions on + * the specified bucket and belong to the bucket owner's account to use this + * operation. </p> <p>If you don't have <code>DeleteBucketPolicy</code> + * permissions, Amazon S3 returns a <code>403 Access Denied</code> error. If you + * have the correct permissions, but you're not using an identity that belongs to + * the bucket owner's account, Amazon S3 returns a <code>405 Method Not + * Allowed</code> error. </p> <p>As a security precaution, the root + * user of the Amazon Web Services account that owns a bucket can always use this + * operation, even if the policy explicitly denies the root user the ability to + * perform this action.</p> <p>For more information about bucket * policies, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using * Bucket Policies and UserPolicies</a>. </p> <p>The following operations are @@ -2550,60 +1077,22 @@ namespace Aws virtual Model::DeleteBucketPolicyOutcome DeleteBucketPolicy(const Model::DeleteBucketPolicyRequest& request) const; /** - * <p>This implementation of the DELETE action uses the policy subresource to - * delete the policy of a specified bucket. If you are using an identity other than - * the root user of the AWS account that owns the bucket, the calling identity must - * have the <code>DeleteBucketPolicy</code> permissions on the specified bucket and - * belong to the bucket owner's account to use this operation. </p> <p>If you don't - * have <code>DeleteBucketPolicy</code> permissions, Amazon S3 returns a <code>403 - * Access Denied</code> error. If you have the correct permissions, but you're not - * using an identity that belongs to the bucket owner's account, Amazon S3 returns - * a <code>405 Method Not Allowed</code> error. </p> <p>As a security - * precaution, the root user of the AWS account that owns a bucket can always use - * this operation, even if the policy explicitly denies the root user the ability - * to perform this action.</p> <p>For more information about bucket - * policies, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using - * Bucket Policies and UserPolicies</a>. </p> <p>The following operations are - * related to <code>DeleteBucketPolicy</code> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for DeleteBucketPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::DeleteBucketPolicyOutcomeCallable DeleteBucketPolicyCallable(const Model::DeleteBucketPolicyRequest& request) const; + template<typename DeleteBucketPolicyRequestT = Model::DeleteBucketPolicyRequest> + Model::DeleteBucketPolicyOutcomeCallable DeleteBucketPolicyCallable(const DeleteBucketPolicyRequestT& request) const + { + return SubmitCallable(&S3Client::DeleteBucketPolicy, request); + } /** - * <p>This implementation of the DELETE action uses the policy subresource to - * delete the policy of a specified bucket. If you are using an identity other than - * the root user of the AWS account that owns the bucket, the calling identity must - * have the <code>DeleteBucketPolicy</code> permissions on the specified bucket and - * belong to the bucket owner's account to use this operation. </p> <p>If you don't - * have <code>DeleteBucketPolicy</code> permissions, Amazon S3 returns a <code>403 - * Access Denied</code> error. If you have the correct permissions, but you're not - * using an identity that belongs to the bucket owner's account, Amazon S3 returns - * a <code>405 Method Not Allowed</code> error. </p> <p>As a security - * precaution, the root user of the AWS account that owns a bucket can always use - * this operation, even if the policy explicitly denies the root user the ability - * to perform this action.</p> <p>For more information about bucket - * policies, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using - * Bucket Policies and UserPolicies</a>. </p> <p>The following operations are - * related to <code>DeleteBucketPolicy</code> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for DeleteBucketPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void DeleteBucketPolicyAsync(const Model::DeleteBucketPolicyRequest& request, const DeleteBucketPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename DeleteBucketPolicyRequestT = Model::DeleteBucketPolicyRequest> + void DeleteBucketPolicyAsync(const DeleteBucketPolicyRequestT& request, const DeleteBucketPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::DeleteBucketPolicy, request, handler, context); + } /** * <p> Deletes the replication configuration from the bucket.</p> <p>To use this @@ -2618,8 +1107,8 @@ namespace Aws * while for the deletion of a replication configuration to fully propagate.</p> * <p> For information about replication configuration, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a> - * in the <i>Amazon S3 Developer Guide</i>. </p> <p>The following operations are - * related to <code>DeleteBucketReplication</code>:</p> <ul> <li> <p> <a + * in the <i>Amazon S3 User Guide</i>.</p> <p>The following operations are related + * to <code>DeleteBucketReplication</code>:</p> <ul> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html">PutBucketReplication</a> * </p> </li> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html">GetBucketReplication</a> @@ -2630,56 +1119,22 @@ namespace Aws virtual Model::DeleteBucketReplicationOutcome DeleteBucketReplication(const Model::DeleteBucketReplicationRequest& request) const; /** - * <p> Deletes the replication configuration from the bucket.</p> <p>To use this - * operation, you must have permissions to perform the - * <code>s3:PutReplicationConfiguration</code> action. The bucket owner has these - * permissions by default and can grant it to others. For more information about - * permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>. </p> <p>It can take a - * while for the deletion of a replication configuration to fully propagate.</p> - * <p> For information about replication configuration, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a> - * in the <i>Amazon S3 Developer Guide</i>. </p> <p>The following operations are - * related to <code>DeleteBucketReplication</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html">PutBucketReplication</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html">GetBucketReplication</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for DeleteBucketReplication that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::DeleteBucketReplicationOutcomeCallable DeleteBucketReplicationCallable(const Model::DeleteBucketReplicationRequest& request) const; + template<typename DeleteBucketReplicationRequestT = Model::DeleteBucketReplicationRequest> + Model::DeleteBucketReplicationOutcomeCallable DeleteBucketReplicationCallable(const DeleteBucketReplicationRequestT& request) const + { + return SubmitCallable(&S3Client::DeleteBucketReplication, request); + } /** - * <p> Deletes the replication configuration from the bucket.</p> <p>To use this - * operation, you must have permissions to perform the - * <code>s3:PutReplicationConfiguration</code> action. The bucket owner has these - * permissions by default and can grant it to others. For more information about - * permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>. </p> <p>It can take a - * while for the deletion of a replication configuration to fully propagate.</p> - * <p> For information about replication configuration, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a> - * in the <i>Amazon S3 Developer Guide</i>. </p> <p>The following operations are - * related to <code>DeleteBucketReplication</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html">PutBucketReplication</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html">GetBucketReplication</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for DeleteBucketReplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void DeleteBucketReplicationAsync(const Model::DeleteBucketReplicationRequest& request, const DeleteBucketReplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename DeleteBucketReplicationRequestT = Model::DeleteBucketReplicationRequest> + void DeleteBucketReplicationAsync(const DeleteBucketReplicationRequestT& request, const DeleteBucketReplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::DeleteBucketReplication, request, handler, context); + } /** * <p>Deletes the tags from the bucket.</p> <p>To use this operation, you must have @@ -2697,38 +1152,22 @@ namespace Aws virtual Model::DeleteBucketTaggingOutcome DeleteBucketTagging(const Model::DeleteBucketTaggingRequest& request) const; /** - * <p>Deletes the tags from the bucket.</p> <p>To use this operation, you must have - * permission to perform the <code>s3:PutBucketTagging</code> action. By default, - * the bucket owner has this permission and can grant this permission to others. - * </p> <p>The following operations are related to - * <code>DeleteBucketTagging</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html">GetBucketTagging</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html">PutBucketTagging</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for DeleteBucketTagging that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::DeleteBucketTaggingOutcomeCallable DeleteBucketTaggingCallable(const Model::DeleteBucketTaggingRequest& request) const; + template<typename DeleteBucketTaggingRequestT = Model::DeleteBucketTaggingRequest> + Model::DeleteBucketTaggingOutcomeCallable DeleteBucketTaggingCallable(const DeleteBucketTaggingRequestT& request) const + { + return SubmitCallable(&S3Client::DeleteBucketTagging, request); + } /** - * <p>Deletes the tags from the bucket.</p> <p>To use this operation, you must have - * permission to perform the <code>s3:PutBucketTagging</code> action. By default, - * the bucket owner has this permission and can grant this permission to others. - * </p> <p>The following operations are related to - * <code>DeleteBucketTagging</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html">GetBucketTagging</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html">PutBucketTagging</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for DeleteBucketTagging that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void DeleteBucketTaggingAsync(const Model::DeleteBucketTaggingRequest& request, const DeleteBucketTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename DeleteBucketTaggingRequestT = Model::DeleteBucketTaggingRequest> + void DeleteBucketTaggingAsync(const DeleteBucketTaggingRequestT& request, const DeleteBucketTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::DeleteBucketTagging, request, handler, context); + } /** * <p>This action removes the website configuration for a bucket. Amazon S3 returns @@ -2755,56 +1194,22 @@ namespace Aws virtual Model::DeleteBucketWebsiteOutcome DeleteBucketWebsite(const Model::DeleteBucketWebsiteRequest& request) const; /** - * <p>This action removes the website configuration for a bucket. Amazon S3 returns - * a <code>200 OK</code> response upon successfully deleting a website - * configuration on the specified bucket. You will get a <code>200 OK</code> - * response if the website configuration you are trying to delete does not exist on - * the bucket. Amazon S3 returns a <code>404</code> response if the bucket - * specified in the request does not exist.</p> <p>This DELETE action requires the - * <code>S3:DeleteBucketWebsite</code> permission. By default, only the bucket - * owner can delete the website configuration attached to a bucket. However, bucket - * owners can grant other users permission to delete the website configuration by - * writing a bucket policy granting them the <code>S3:DeleteBucketWebsite</code> - * permission. </p> <p>For more information about hosting websites, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting - * Websites on Amazon S3</a>. </p> <p>The following operations are related to - * <code>DeleteBucketWebsite</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketWebsite.html">GetBucketWebsite</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html">PutBucketWebsite</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for DeleteBucketWebsite that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::DeleteBucketWebsiteOutcomeCallable DeleteBucketWebsiteCallable(const Model::DeleteBucketWebsiteRequest& request) const; + template<typename DeleteBucketWebsiteRequestT = Model::DeleteBucketWebsiteRequest> + Model::DeleteBucketWebsiteOutcomeCallable DeleteBucketWebsiteCallable(const DeleteBucketWebsiteRequestT& request) const + { + return SubmitCallable(&S3Client::DeleteBucketWebsite, request); + } /** - * <p>This action removes the website configuration for a bucket. Amazon S3 returns - * a <code>200 OK</code> response upon successfully deleting a website - * configuration on the specified bucket. You will get a <code>200 OK</code> - * response if the website configuration you are trying to delete does not exist on - * the bucket. Amazon S3 returns a <code>404</code> response if the bucket - * specified in the request does not exist.</p> <p>This DELETE action requires the - * <code>S3:DeleteBucketWebsite</code> permission. By default, only the bucket - * owner can delete the website configuration attached to a bucket. However, bucket - * owners can grant other users permission to delete the website configuration by - * writing a bucket policy granting them the <code>S3:DeleteBucketWebsite</code> - * permission. </p> <p>For more information about hosting websites, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting - * Websites on Amazon S3</a>. </p> <p>The following operations are related to - * <code>DeleteBucketWebsite</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketWebsite.html">GetBucketWebsite</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html">PutBucketWebsite</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for DeleteBucketWebsite that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void DeleteBucketWebsiteAsync(const Model::DeleteBucketWebsiteRequest& request, const DeleteBucketWebsiteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename DeleteBucketWebsiteRequestT = Model::DeleteBucketWebsiteRequest> + void DeleteBucketWebsiteAsync(const DeleteBucketWebsiteRequestT& request, const DeleteBucketWebsiteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::DeleteBucketWebsite, request, handler, context); + } /** * <p>Removes the null version (if there is one) of an object and inserts a delete @@ -2838,70 +1243,22 @@ namespace Aws virtual Model::DeleteObjectOutcome DeleteObject(const Model::DeleteObjectRequest& request) const; /** - * <p>Removes the null version (if there is one) of an object and inserts a delete - * marker, which becomes the latest version of the object. If there isn't a null - * version, Amazon S3 does not remove any objects but will still respond that the - * command was successful.</p> <p>To remove a specific version, you must be the - * bucket owner and you must use the version Id subresource. Using this subresource - * permanently deletes the version. If the object deleted is a delete marker, - * Amazon S3 sets the response header, <code>x-amz-delete-marker</code>, to true. - * </p> <p>If the object you want to delete is in a bucket where the bucket - * versioning configuration is MFA Delete enabled, you must include the - * <code>x-amz-mfa</code> request header in the DELETE <code>versionId</code> - * request. Requests that include <code>x-amz-mfa</code> must use HTTPS. </p> <p> - * For more information about MFA Delete, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html">Using - * MFA Delete</a>. To see sample requests that use versioning, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete">Sample - * Request</a>. </p> <p>You can delete objects by explicitly calling DELETE Object - * or configure its lifecycle (<a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html">PutBucketLifecycle</a>) - * to enable Amazon S3 to remove them for you. If you want to block users or - * accounts from removing or deleting objects from your bucket, you must deny them - * the <code>s3:DeleteObject</code>, <code>s3:DeleteObjectVersion</code>, and - * <code>s3:PutLifeCycleConfiguration</code> actions. </p> <p>The following action - * is related to <code>DeleteObject</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObject">AWS API - * Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for DeleteObject that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::DeleteObjectOutcomeCallable DeleteObjectCallable(const Model::DeleteObjectRequest& request) const; + template<typename DeleteObjectRequestT = Model::DeleteObjectRequest> + Model::DeleteObjectOutcomeCallable DeleteObjectCallable(const DeleteObjectRequestT& request) const + { + return SubmitCallable(&S3Client::DeleteObject, request); + } /** - * <p>Removes the null version (if there is one) of an object and inserts a delete - * marker, which becomes the latest version of the object. If there isn't a null - * version, Amazon S3 does not remove any objects but will still respond that the - * command was successful.</p> <p>To remove a specific version, you must be the - * bucket owner and you must use the version Id subresource. Using this subresource - * permanently deletes the version. If the object deleted is a delete marker, - * Amazon S3 sets the response header, <code>x-amz-delete-marker</code>, to true. - * </p> <p>If the object you want to delete is in a bucket where the bucket - * versioning configuration is MFA Delete enabled, you must include the - * <code>x-amz-mfa</code> request header in the DELETE <code>versionId</code> - * request. Requests that include <code>x-amz-mfa</code> must use HTTPS. </p> <p> - * For more information about MFA Delete, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html">Using - * MFA Delete</a>. To see sample requests that use versioning, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete">Sample - * Request</a>. </p> <p>You can delete objects by explicitly calling DELETE Object - * or configure its lifecycle (<a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html">PutBucketLifecycle</a>) - * to enable Amazon S3 to remove them for you. If you want to block users or - * accounts from removing or deleting objects from your bucket, you must deny them - * the <code>s3:DeleteObject</code>, <code>s3:DeleteObjectVersion</code>, and - * <code>s3:PutLifeCycleConfiguration</code> actions. </p> <p>The following action - * is related to <code>DeleteObject</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObject">AWS API - * Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for DeleteObject that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void DeleteObjectAsync(const Model::DeleteObjectRequest& request, const DeleteObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename DeleteObjectRequestT = Model::DeleteObjectRequest> + void DeleteObjectAsync(const DeleteObjectRequestT& request, const DeleteObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::DeleteObject, request, handler, context); + } /** * <p>Removes the entire tag set from the specified object. For more information @@ -2924,48 +1281,22 @@ namespace Aws virtual Model::DeleteObjectTaggingOutcome DeleteObjectTagging(const Model::DeleteObjectTaggingRequest& request) const; /** - * <p>Removes the entire tag set from the specified object. For more information - * about managing object tags, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html"> - * Object Tagging</a>.</p> <p>To use this operation, you must have permission to - * perform the <code>s3:DeleteObjectTagging</code> action.</p> <p>To delete tags of - * a specific object version, add the <code>versionId</code> query parameter in the - * request. You will need permission for the - * <code>s3:DeleteObjectVersionTagging</code> action.</p> <p>The following - * operations are related to <code>DeleteBucketMetricsConfiguration</code>:</p> - * <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html">PutObjectTagging</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for DeleteObjectTagging that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::DeleteObjectTaggingOutcomeCallable DeleteObjectTaggingCallable(const Model::DeleteObjectTaggingRequest& request) const; + template<typename DeleteObjectTaggingRequestT = Model::DeleteObjectTaggingRequest> + Model::DeleteObjectTaggingOutcomeCallable DeleteObjectTaggingCallable(const DeleteObjectTaggingRequestT& request) const + { + return SubmitCallable(&S3Client::DeleteObjectTagging, request); + } /** - * <p>Removes the entire tag set from the specified object. For more information - * about managing object tags, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html"> - * Object Tagging</a>.</p> <p>To use this operation, you must have permission to - * perform the <code>s3:DeleteObjectTagging</code> action.</p> <p>To delete tags of - * a specific object version, add the <code>versionId</code> query parameter in the - * request. You will need permission for the - * <code>s3:DeleteObjectVersionTagging</code> action.</p> <p>The following - * operations are related to <code>DeleteBucketMetricsConfiguration</code>:</p> - * <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html">PutObjectTagging</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for DeleteObjectTagging that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void DeleteObjectTaggingAsync(const Model::DeleteObjectTaggingRequest& request, const DeleteObjectTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename DeleteObjectTaggingRequestT = Model::DeleteObjectTaggingRequest> + void DeleteObjectTaggingAsync(const DeleteObjectTaggingRequestT& request, const DeleteObjectTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::DeleteObjectTagging, request, handler, context); + } /** * <p>This action enables you to delete multiple objects from a bucket using a @@ -3010,92 +1341,22 @@ namespace Aws virtual Model::DeleteObjectsOutcome DeleteObjects(const Model::DeleteObjectsRequest& request) const; /** - * <p>This action enables you to delete multiple objects from a bucket using a - * single HTTP request. If you know the object keys that you want to delete, then - * this action provides a suitable alternative to sending individual delete - * requests, reducing per-request overhead.</p> <p>The request contains a list of - * up to 1000 keys that you want to delete. In the XML, you provide the object key - * names, and optionally, version IDs if you want to delete a specific version of - * the object from a versioning-enabled bucket. For each key, Amazon S3 performs a - * delete action and returns the result of that delete, success, or failure, in the - * response. Note that if the object specified in the request is not found, Amazon - * S3 returns the result as deleted.</p> <p> The action supports two modes for the - * response: verbose and quiet. By default, the action uses verbose mode in which - * the response includes the result of deletion of each key in your request. In - * quiet mode the response includes only keys where the delete action encountered - * an error. For a successful deletion, the action does not return any information - * about the delete in the response body.</p> <p>When performing this action on an - * MFA Delete enabled bucket, that attempts to delete any versioned objects, you - * must include an MFA token. If you do not provide one, the entire request will - * fail, even if there are non-versioned objects you are trying to delete. If you - * provide an invalid token, whether there are versioned keys in the request or - * not, the entire Multi-Object Delete request will fail. For information about MFA - * Delete, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete"> - * MFA Delete</a>.</p> <p>Finally, the Content-MD5 header is required for all - * Multi-Object Delete requests. Amazon S3 uses the header value to ensure that - * your request body has not been altered in transit.</p> <p>The following - * operations are related to <code>DeleteObjects</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for DeleteObjects that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::DeleteObjectsOutcomeCallable DeleteObjectsCallable(const Model::DeleteObjectsRequest& request) const; + template<typename DeleteObjectsRequestT = Model::DeleteObjectsRequest> + Model::DeleteObjectsOutcomeCallable DeleteObjectsCallable(const DeleteObjectsRequestT& request) const + { + return SubmitCallable(&S3Client::DeleteObjects, request); + } /** - * <p>This action enables you to delete multiple objects from a bucket using a - * single HTTP request. If you know the object keys that you want to delete, then - * this action provides a suitable alternative to sending individual delete - * requests, reducing per-request overhead.</p> <p>The request contains a list of - * up to 1000 keys that you want to delete. In the XML, you provide the object key - * names, and optionally, version IDs if you want to delete a specific version of - * the object from a versioning-enabled bucket. For each key, Amazon S3 performs a - * delete action and returns the result of that delete, success, or failure, in the - * response. Note that if the object specified in the request is not found, Amazon - * S3 returns the result as deleted.</p> <p> The action supports two modes for the - * response: verbose and quiet. By default, the action uses verbose mode in which - * the response includes the result of deletion of each key in your request. In - * quiet mode the response includes only keys where the delete action encountered - * an error. For a successful deletion, the action does not return any information - * about the delete in the response body.</p> <p>When performing this action on an - * MFA Delete enabled bucket, that attempts to delete any versioned objects, you - * must include an MFA token. If you do not provide one, the entire request will - * fail, even if there are non-versioned objects you are trying to delete. If you - * provide an invalid token, whether there are versioned keys in the request or - * not, the entire Multi-Object Delete request will fail. For information about MFA - * Delete, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete"> - * MFA Delete</a>.</p> <p>Finally, the Content-MD5 header is required for all - * Multi-Object Delete requests. Amazon S3 uses the header value to ensure that - * your request body has not been altered in transit.</p> <p>The following - * operations are related to <code>DeleteObjects</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for DeleteObjects that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void DeleteObjectsAsync(const Model::DeleteObjectsRequest& request, const DeleteObjectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename DeleteObjectsRequestT = Model::DeleteObjectsRequest> + void DeleteObjectsAsync(const DeleteObjectsRequestT& request, const DeleteObjectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::DeleteObjects, request, handler, context); + } /** * <p>Removes the <code>PublicAccessBlock</code> configuration for an Amazon S3 @@ -3122,56 +1383,22 @@ namespace Aws virtual Model::DeletePublicAccessBlockOutcome DeletePublicAccessBlock(const Model::DeletePublicAccessBlockRequest& request) const; /** - * <p>Removes the <code>PublicAccessBlock</code> configuration for an Amazon S3 - * bucket. To use this operation, you must have the - * <code>s3:PutBucketPublicAccessBlock</code> permission. For more information - * about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>The following - * operations are related to <code>DeletePublicAccessBlock</code>:</p> <ul> <li> - * <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using - * Amazon S3 Block Public Access</a> </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html">GetPublicAccessBlock</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html">PutPublicAccessBlock</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html">GetBucketPolicyStatus</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletePublicAccessBlock">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for DeletePublicAccessBlock that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::DeletePublicAccessBlockOutcomeCallable DeletePublicAccessBlockCallable(const Model::DeletePublicAccessBlockRequest& request) const; + template<typename DeletePublicAccessBlockRequestT = Model::DeletePublicAccessBlockRequest> + Model::DeletePublicAccessBlockOutcomeCallable DeletePublicAccessBlockCallable(const DeletePublicAccessBlockRequestT& request) const + { + return SubmitCallable(&S3Client::DeletePublicAccessBlock, request); + } /** - * <p>Removes the <code>PublicAccessBlock</code> configuration for an Amazon S3 - * bucket. To use this operation, you must have the - * <code>s3:PutBucketPublicAccessBlock</code> permission. For more information - * about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>The following - * operations are related to <code>DeletePublicAccessBlock</code>:</p> <ul> <li> - * <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using - * Amazon S3 Block Public Access</a> </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html">GetPublicAccessBlock</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html">PutPublicAccessBlock</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html">GetBucketPolicyStatus</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletePublicAccessBlock">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for DeletePublicAccessBlock that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void DeletePublicAccessBlockAsync(const Model::DeletePublicAccessBlockRequest& request, const DeletePublicAccessBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename DeletePublicAccessBlockRequestT = Model::DeletePublicAccessBlockRequest> + void DeletePublicAccessBlockAsync(const DeletePublicAccessBlockRequestT& request, const DeletePublicAccessBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::DeletePublicAccessBlock, request, handler, context); + } /** * <p>This implementation of the GET action uses the <code>accelerate</code> @@ -3204,68 +1431,22 @@ namespace Aws virtual Model::GetBucketAccelerateConfigurationOutcome GetBucketAccelerateConfiguration(const Model::GetBucketAccelerateConfigurationRequest& request) const; /** - * <p>This implementation of the GET action uses the <code>accelerate</code> - * subresource to return the Transfer Acceleration state of a bucket, which is - * either <code>Enabled</code> or <code>Suspended</code>. Amazon S3 Transfer - * Acceleration is a bucket-level feature that enables you to perform faster data - * transfers to and from Amazon S3.</p> <p>To use this operation, you must have - * permission to perform the <code>s3:GetAccelerateConfiguration</code> action. The - * bucket owner has this permission by default. The bucket owner can grant this - * permission to others. For more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to your Amazon S3 Resources</a> in the <i>Amazon S3 User - * Guide</i>.</p> <p>You set the Transfer Acceleration state of an existing bucket - * to <code>Enabled</code> or <code>Suspended</code> by using the <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAccelerateConfiguration.html">PutBucketAccelerateConfiguration</a> - * operation. </p> <p>A GET <code>accelerate</code> request does not return a state - * value for a bucket that has no transfer acceleration state. A bucket has no - * Transfer Acceleration state if a state has never been set on the bucket. </p> - * <p>For more information about transfer acceleration, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer - * Acceleration</a> in the Amazon S3 User Guide.</p> <p class="title"> <b>Related - * Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAccelerateConfiguration.html">PutBucketAccelerateConfiguration</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetBucketAccelerateConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetBucketAccelerateConfigurationOutcomeCallable GetBucketAccelerateConfigurationCallable(const Model::GetBucketAccelerateConfigurationRequest& request) const; + template<typename GetBucketAccelerateConfigurationRequestT = Model::GetBucketAccelerateConfigurationRequest> + Model::GetBucketAccelerateConfigurationOutcomeCallable GetBucketAccelerateConfigurationCallable(const GetBucketAccelerateConfigurationRequestT& request) const + { + return SubmitCallable(&S3Client::GetBucketAccelerateConfiguration, request); + } /** - * <p>This implementation of the GET action uses the <code>accelerate</code> - * subresource to return the Transfer Acceleration state of a bucket, which is - * either <code>Enabled</code> or <code>Suspended</code>. Amazon S3 Transfer - * Acceleration is a bucket-level feature that enables you to perform faster data - * transfers to and from Amazon S3.</p> <p>To use this operation, you must have - * permission to perform the <code>s3:GetAccelerateConfiguration</code> action. The - * bucket owner has this permission by default. The bucket owner can grant this - * permission to others. For more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to your Amazon S3 Resources</a> in the <i>Amazon S3 User - * Guide</i>.</p> <p>You set the Transfer Acceleration state of an existing bucket - * to <code>Enabled</code> or <code>Suspended</code> by using the <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAccelerateConfiguration.html">PutBucketAccelerateConfiguration</a> - * operation. </p> <p>A GET <code>accelerate</code> request does not return a state - * value for a bucket that has no transfer acceleration state. A bucket has no - * Transfer Acceleration state if a state has never been set on the bucket. </p> - * <p>For more information about transfer acceleration, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer - * Acceleration</a> in the Amazon S3 User Guide.</p> <p class="title"> <b>Related - * Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAccelerateConfiguration.html">PutBucketAccelerateConfiguration</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetBucketAccelerateConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetBucketAccelerateConfigurationAsync(const Model::GetBucketAccelerateConfigurationRequest& request, const GetBucketAccelerateConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetBucketAccelerateConfigurationRequestT = Model::GetBucketAccelerateConfigurationRequest> + void GetBucketAccelerateConfigurationAsync(const GetBucketAccelerateConfigurationRequestT& request, const GetBucketAccelerateConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetBucketAccelerateConfiguration, request, handler, context); + } /** * <p>This implementation of the <code>GET</code> action uses the <code>acl</code> @@ -3273,8 +1454,14 @@ namespace Aws * <code>GET</code> to return the ACL of the bucket, you must have * <code>READ_ACP</code> access to the bucket. If <code>READ_ACP</code> permission * is granted to the anonymous user, you can return the ACL of the bucket without - * using an authorization header.</p> <p class="title"> <b>Related Resources</b> - * </p> <ul> <li> <p> <a + * using an authorization header.</p> <p>If your bucket uses the bucket + * owner enforced setting for S3 Object Ownership, requests to read ACLs are still + * supported and return the <code>bucket-owner-full-control</code> ACL with the + * owner being the account that created the bucket. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html"> + * Controlling object ownership and disabling ACLs</a> in the <i>Amazon S3 User + * Guide</i>.</p> <p class="title"> <b>Related Resources</b> </p> <ul> <li> + * <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html">ListObjects</a> * </p> </li> </ul><p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl">AWS API @@ -3283,38 +1470,22 @@ namespace Aws virtual Model::GetBucketAclOutcome GetBucketAcl(const Model::GetBucketAclRequest& request) const; /** - * <p>This implementation of the <code>GET</code> action uses the <code>acl</code> - * subresource to return the access control list (ACL) of a bucket. To use - * <code>GET</code> to return the ACL of the bucket, you must have - * <code>READ_ACP</code> access to the bucket. If <code>READ_ACP</code> permission - * is granted to the anonymous user, you can return the ACL of the bucket without - * using an authorization header.</p> <p class="title"> <b>Related Resources</b> - * </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html">ListObjects</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl">AWS API - * Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetBucketAcl that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetBucketAclOutcomeCallable GetBucketAclCallable(const Model::GetBucketAclRequest& request) const; + template<typename GetBucketAclRequestT = Model::GetBucketAclRequest> + Model::GetBucketAclOutcomeCallable GetBucketAclCallable(const GetBucketAclRequestT& request) const + { + return SubmitCallable(&S3Client::GetBucketAcl, request); + } /** - * <p>This implementation of the <code>GET</code> action uses the <code>acl</code> - * subresource to return the access control list (ACL) of a bucket. To use - * <code>GET</code> to return the ACL of the bucket, you must have - * <code>READ_ACP</code> access to the bucket. If <code>READ_ACP</code> permission - * is granted to the anonymous user, you can return the ACL of the bucket without - * using an authorization header.</p> <p class="title"> <b>Related Resources</b> - * </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html">ListObjects</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl">AWS API - * Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetBucketAcl that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetBucketAclAsync(const Model::GetBucketAclRequest& request, const GetBucketAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetBucketAclRequestT = Model::GetBucketAclRequest> + void GetBucketAclAsync(const GetBucketAclRequestT& request, const GetBucketAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetBucketAcl, request, handler, context); + } /** * <p>This implementation of the GET action returns an analytics configuration @@ -3343,66 +1514,29 @@ namespace Aws virtual Model::GetBucketAnalyticsConfigurationOutcome GetBucketAnalyticsConfiguration(const Model::GetBucketAnalyticsConfigurationRequest& request) const; /** - * <p>This implementation of the GET action returns an analytics configuration - * (identified by the analytics configuration ID) from the bucket.</p> <p>To use - * this operation, you must have permissions to perform the - * <code>s3:GetAnalyticsConfiguration</code> action. The bucket owner has this - * permission by default. The bucket owner can grant this permission to others. For - * more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources"> - * Permissions Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a> in the <i>Amazon S3 User - * Guide</i>. </p> <p>For information about Amazon S3 analytics feature, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon - * S3 Analytics – Storage Class Analysis</a> in the <i>Amazon S3 User - * Guide</i>.</p> <p class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html">DeleteBucketAnalyticsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html">ListBucketAnalyticsConfigurations</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html">PutBucketAnalyticsConfiguration</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetBucketAnalyticsConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetBucketAnalyticsConfigurationOutcomeCallable GetBucketAnalyticsConfigurationCallable(const Model::GetBucketAnalyticsConfigurationRequest& request) const; + template<typename GetBucketAnalyticsConfigurationRequestT = Model::GetBucketAnalyticsConfigurationRequest> + Model::GetBucketAnalyticsConfigurationOutcomeCallable GetBucketAnalyticsConfigurationCallable(const GetBucketAnalyticsConfigurationRequestT& request) const + { + return SubmitCallable(&S3Client::GetBucketAnalyticsConfiguration, request); + } /** - * <p>This implementation of the GET action returns an analytics configuration - * (identified by the analytics configuration ID) from the bucket.</p> <p>To use - * this operation, you must have permissions to perform the - * <code>s3:GetAnalyticsConfiguration</code> action. The bucket owner has this - * permission by default. The bucket owner can grant this permission to others. For - * more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources"> - * Permissions Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a> in the <i>Amazon S3 User - * Guide</i>. </p> <p>For information about Amazon S3 analytics feature, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon - * S3 Analytics – Storage Class Analysis</a> in the <i>Amazon S3 User - * Guide</i>.</p> <p class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html">DeleteBucketAnalyticsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html">ListBucketAnalyticsConfigurations</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html">PutBucketAnalyticsConfiguration</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetBucketAnalyticsConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetBucketAnalyticsConfigurationAsync(const Model::GetBucketAnalyticsConfigurationRequest& request, const GetBucketAnalyticsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetBucketAnalyticsConfigurationRequestT = Model::GetBucketAnalyticsConfigurationRequest> + void GetBucketAnalyticsConfigurationAsync(const GetBucketAnalyticsConfigurationRequestT& request, const GetBucketAnalyticsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetBucketAnalyticsConfiguration, request, handler, context); + } /** - * <p>Returns the cors configuration information set for the bucket.</p> <p> To use - * this operation, you must have permission to perform the s3:GetBucketCORS action. - * By default, the bucket owner has this permission and can grant it to others.</p> - * <p> For more information about cors, see <a + * <p>Returns the Cross-Origin Resource Sharing (CORS) configuration information + * set for the bucket.</p> <p> To use this operation, you must have permission to + * perform the <code>s3:GetBucketCORS</code> action. By default, the bucket owner + * has this permission and can grant it to others.</p> <p> For more information + * about CORS, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html"> Enabling * Cross-Origin Resource Sharing</a>.</p> <p>The following operations are related * to <code>GetBucketCors</code>:</p> <ul> <li> <p> <a @@ -3416,42 +1550,22 @@ namespace Aws virtual Model::GetBucketCorsOutcome GetBucketCors(const Model::GetBucketCorsRequest& request) const; /** - * <p>Returns the cors configuration information set for the bucket.</p> <p> To use - * this operation, you must have permission to perform the s3:GetBucketCORS action. - * By default, the bucket owner has this permission and can grant it to others.</p> - * <p> For more information about cors, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html"> Enabling - * Cross-Origin Resource Sharing</a>.</p> <p>The following operations are related - * to <code>GetBucketCors</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html">PutBucketCors</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html">DeleteBucketCors</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetBucketCors that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetBucketCorsOutcomeCallable GetBucketCorsCallable(const Model::GetBucketCorsRequest& request) const; + template<typename GetBucketCorsRequestT = Model::GetBucketCorsRequest> + Model::GetBucketCorsOutcomeCallable GetBucketCorsCallable(const GetBucketCorsRequestT& request) const + { + return SubmitCallable(&S3Client::GetBucketCors, request); + } /** - * <p>Returns the cors configuration information set for the bucket.</p> <p> To use - * this operation, you must have permission to perform the s3:GetBucketCORS action. - * By default, the bucket owner has this permission and can grant it to others.</p> - * <p> For more information about cors, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html"> Enabling - * Cross-Origin Resource Sharing</a>.</p> <p>The following operations are related - * to <code>GetBucketCors</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html">PutBucketCors</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html">DeleteBucketCors</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetBucketCors that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetBucketCorsAsync(const Model::GetBucketCorsRequest& request, const GetBucketCorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetBucketCorsRequestT = Model::GetBucketCorsRequest> + void GetBucketCorsAsync(const GetBucketCorsRequestT& request, const GetBucketCorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetBucketCors, request, handler, context); + } /** * <p>Returns the default encryption configuration for an Amazon S3 bucket. If the @@ -3478,70 +1592,37 @@ namespace Aws virtual Model::GetBucketEncryptionOutcome GetBucketEncryption(const Model::GetBucketEncryptionRequest& request) const; /** - * <p>Returns the default encryption configuration for an Amazon S3 bucket. If the - * bucket does not have a default encryption configuration, GetBucketEncryption - * returns <code>ServerSideEncryptionConfigurationNotFoundError</code>. </p> <p>For - * information about the Amazon S3 default encryption feature, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon - * S3 Default Bucket Encryption</a>.</p> <p> To use this operation, you must have - * permission to perform the <code>s3:GetEncryptionConfiguration</code> action. The - * bucket owner has this permission by default. The bucket owner can grant this - * permission to others. For more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>The following - * operations are related to <code>GetBucketEncryption</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html">PutBucketEncryption</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html">DeleteBucketEncryption</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetBucketEncryption that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetBucketEncryptionOutcomeCallable GetBucketEncryptionCallable(const Model::GetBucketEncryptionRequest& request) const; + template<typename GetBucketEncryptionRequestT = Model::GetBucketEncryptionRequest> + Model::GetBucketEncryptionOutcomeCallable GetBucketEncryptionCallable(const GetBucketEncryptionRequestT& request) const + { + return SubmitCallable(&S3Client::GetBucketEncryption, request); + } /** - * <p>Returns the default encryption configuration for an Amazon S3 bucket. If the - * bucket does not have a default encryption configuration, GetBucketEncryption - * returns <code>ServerSideEncryptionConfigurationNotFoundError</code>. </p> <p>For - * information about the Amazon S3 default encryption feature, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon - * S3 Default Bucket Encryption</a>.</p> <p> To use this operation, you must have - * permission to perform the <code>s3:GetEncryptionConfiguration</code> action. The - * bucket owner has this permission by default. The bucket owner can grant this - * permission to others. For more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>The following - * operations are related to <code>GetBucketEncryption</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html">PutBucketEncryption</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html">DeleteBucketEncryption</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetBucketEncryption that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetBucketEncryptionAsync(const Model::GetBucketEncryptionRequest& request, const GetBucketEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetBucketEncryptionRequestT = Model::GetBucketEncryptionRequest> + void GetBucketEncryptionAsync(const GetBucketEncryptionRequestT& request, const GetBucketEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetBucketEncryption, request, handler, context); + } /** * <p>Gets the S3 Intelligent-Tiering configuration from the specified bucket.</p> * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage * costs by automatically moving data to the most cost-effective storage access - * tier, without additional operational overhead. S3 Intelligent-Tiering delivers - * automatic cost savings by moving data between access tiers, when access patterns - * change.</p> <p>The S3 Intelligent-Tiering storage class is suitable for objects - * larger than 128 KB that you plan to store for at least 30 days. If the size of - * an object is less than 128 KB, it is not eligible for auto-tiering. Smaller - * objects can be stored, but they are always charged at the frequent access tier - * rates in the S3 Intelligent-Tiering storage class. </p> <p>If you delete an - * object before the end of the 30-day minimum storage duration period, you are - * charged for 30 days. For more information, see <a + * tier, without performance impact or operational overhead. S3 Intelligent-Tiering + * delivers automatic cost savings in three low latency and high throughput access + * tiers. To get the lowest storage cost on data that can be accessed in minutes to + * hours, you can choose to activate additional archiving capabilities.</p> <p>The + * S3 Intelligent-Tiering storage class is the ideal storage class for data with + * unknown, changing, or unpredictable access patterns, independent of object size + * or retention period. If the size of an object is less than 128 KB, it is not + * monitored and not eligible for auto-tiering. Smaller objects can be stored, but + * they are always charged at the Frequent Access tier rates in the S3 + * Intelligent-Tiering storage class.</p> <p>For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage * class for automatically optimizing frequently and infrequently accessed * objects</a>.</p> <p>Operations related to @@ -3559,66 +1640,22 @@ namespace Aws virtual Model::GetBucketIntelligentTieringConfigurationOutcome GetBucketIntelligentTieringConfiguration(const Model::GetBucketIntelligentTieringConfigurationRequest& request) const; /** - * <p>Gets the S3 Intelligent-Tiering configuration from the specified bucket.</p> - * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage - * costs by automatically moving data to the most cost-effective storage access - * tier, without additional operational overhead. S3 Intelligent-Tiering delivers - * automatic cost savings by moving data between access tiers, when access patterns - * change.</p> <p>The S3 Intelligent-Tiering storage class is suitable for objects - * larger than 128 KB that you plan to store for at least 30 days. If the size of - * an object is less than 128 KB, it is not eligible for auto-tiering. Smaller - * objects can be stored, but they are always charged at the frequent access tier - * rates in the S3 Intelligent-Tiering storage class. </p> <p>If you delete an - * object before the end of the 30-day minimum storage duration period, you are - * charged for 30 days. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage - * class for automatically optimizing frequently and infrequently accessed - * objects</a>.</p> <p>Operations related to - * <code>GetBucketIntelligentTieringConfiguration</code> include: </p> <ul> <li> - * <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html">DeleteBucketIntelligentTieringConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html">PutBucketIntelligentTieringConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html">ListBucketIntelligentTieringConfigurations</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketIntelligentTieringConfiguration">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetBucketIntelligentTieringConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetBucketIntelligentTieringConfigurationOutcomeCallable GetBucketIntelligentTieringConfigurationCallable(const Model::GetBucketIntelligentTieringConfigurationRequest& request) const; + template<typename GetBucketIntelligentTieringConfigurationRequestT = Model::GetBucketIntelligentTieringConfigurationRequest> + Model::GetBucketIntelligentTieringConfigurationOutcomeCallable GetBucketIntelligentTieringConfigurationCallable(const GetBucketIntelligentTieringConfigurationRequestT& request) const + { + return SubmitCallable(&S3Client::GetBucketIntelligentTieringConfiguration, request); + } /** - * <p>Gets the S3 Intelligent-Tiering configuration from the specified bucket.</p> - * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage - * costs by automatically moving data to the most cost-effective storage access - * tier, without additional operational overhead. S3 Intelligent-Tiering delivers - * automatic cost savings by moving data between access tiers, when access patterns - * change.</p> <p>The S3 Intelligent-Tiering storage class is suitable for objects - * larger than 128 KB that you plan to store for at least 30 days. If the size of - * an object is less than 128 KB, it is not eligible for auto-tiering. Smaller - * objects can be stored, but they are always charged at the frequent access tier - * rates in the S3 Intelligent-Tiering storage class. </p> <p>If you delete an - * object before the end of the 30-day minimum storage duration period, you are - * charged for 30 days. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage - * class for automatically optimizing frequently and infrequently accessed - * objects</a>.</p> <p>Operations related to - * <code>GetBucketIntelligentTieringConfiguration</code> include: </p> <ul> <li> - * <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html">DeleteBucketIntelligentTieringConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html">PutBucketIntelligentTieringConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html">ListBucketIntelligentTieringConfigurations</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketIntelligentTieringConfiguration">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetBucketIntelligentTieringConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetBucketIntelligentTieringConfigurationAsync(const Model::GetBucketIntelligentTieringConfigurationRequest& request, const GetBucketIntelligentTieringConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetBucketIntelligentTieringConfigurationRequestT = Model::GetBucketIntelligentTieringConfigurationRequest> + void GetBucketIntelligentTieringConfigurationAsync(const GetBucketIntelligentTieringConfigurationRequestT& request, const GetBucketIntelligentTieringConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetBucketIntelligentTieringConfiguration, request, handler, context); + } /** * <p>Returns an inventory configuration (identified by the inventory configuration @@ -3646,58 +1683,22 @@ namespace Aws virtual Model::GetBucketInventoryConfigurationOutcome GetBucketInventoryConfiguration(const Model::GetBucketInventoryConfigurationRequest& request) const; /** - * <p>Returns an inventory configuration (identified by the inventory configuration - * ID) from the bucket.</p> <p>To use this operation, you must have permissions to - * perform the <code>s3:GetInventoryConfiguration</code> action. The bucket owner - * has this permission by default and can grant this permission to others. For more - * information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about - * the Amazon S3 inventory feature, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon - * S3 Inventory</a>.</p> <p>The following operations are related to - * <code>GetBucketInventoryConfiguration</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html">DeleteBucketInventoryConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html">ListBucketInventoryConfigurations</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html">PutBucketInventoryConfiguration</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetBucketInventoryConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetBucketInventoryConfigurationOutcomeCallable GetBucketInventoryConfigurationCallable(const Model::GetBucketInventoryConfigurationRequest& request) const; + template<typename GetBucketInventoryConfigurationRequestT = Model::GetBucketInventoryConfigurationRequest> + Model::GetBucketInventoryConfigurationOutcomeCallable GetBucketInventoryConfigurationCallable(const GetBucketInventoryConfigurationRequestT& request) const + { + return SubmitCallable(&S3Client::GetBucketInventoryConfiguration, request); + } /** - * <p>Returns an inventory configuration (identified by the inventory configuration - * ID) from the bucket.</p> <p>To use this operation, you must have permissions to - * perform the <code>s3:GetInventoryConfiguration</code> action. The bucket owner - * has this permission by default and can grant this permission to others. For more - * information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about - * the Amazon S3 inventory feature, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon - * S3 Inventory</a>.</p> <p>The following operations are related to - * <code>GetBucketInventoryConfiguration</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html">DeleteBucketInventoryConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html">ListBucketInventoryConfigurations</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html">PutBucketInventoryConfiguration</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetBucketInventoryConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetBucketInventoryConfigurationAsync(const Model::GetBucketInventoryConfigurationRequest& request, const GetBucketInventoryConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetBucketInventoryConfigurationRequestT = Model::GetBucketInventoryConfigurationRequest> + void GetBucketInventoryConfigurationAsync(const GetBucketInventoryConfigurationRequestT& request, const GetBucketInventoryConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetBucketInventoryConfiguration, request, handler, context); + } /** * <p>Bucket lifecycle configuration now supports specifying a lifecycle @@ -3737,91 +1738,32 @@ namespace Aws virtual Model::GetBucketLifecycleConfigurationOutcome GetBucketLifecycleConfiguration(const Model::GetBucketLifecycleConfigurationRequest& request) const; /** - * <p>Bucket lifecycle configuration now supports specifying a lifecycle - * rule using an object key name prefix, one or more object tags, or a combination - * of both. Accordingly, this section describes the latest API. The response - * describes the new filter element that you can use to specify a filter to select - * a subset of objects to which the rule applies. If you are using a previous - * version of the lifecycle configuration, it still works. For the earlier action, - * see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html">GetBucketLifecycle</a>.</p> - * <p>Returns the lifecycle configuration information set on the bucket. - * For information about lifecycle configuration, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object - * Lifecycle Management</a>.</p> <p>To use this operation, you must have permission - * to perform the <code>s3:GetLifecycleConfiguration</code> action. The bucket - * owner has this permission, by default. The bucket owner can grant this - * permission to others. For more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> - * <code>GetBucketLifecycleConfiguration</code> has the following special - * error:</p> <ul> <li> <p>Error code: <code>NoSuchLifecycleConfiguration</code> - * </p> <ul> <li> <p>Description: The lifecycle configuration does not exist.</p> - * </li> <li> <p>HTTP Status Code: 404 Not Found</p> </li> <li> <p>SOAP Fault Code - * Prefix: Client</p> </li> </ul> </li> </ul> <p>The following operations are - * related to <code>GetBucketLifecycleConfiguration</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html">GetBucketLifecycle</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html">PutBucketLifecycle</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html">DeleteBucketLifecycle</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetBucketLifecycleConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetBucketLifecycleConfigurationOutcomeCallable GetBucketLifecycleConfigurationCallable(const Model::GetBucketLifecycleConfigurationRequest& request) const; + template<typename GetBucketLifecycleConfigurationRequestT = Model::GetBucketLifecycleConfigurationRequest> + Model::GetBucketLifecycleConfigurationOutcomeCallable GetBucketLifecycleConfigurationCallable(const GetBucketLifecycleConfigurationRequestT& request) const + { + return SubmitCallable(&S3Client::GetBucketLifecycleConfiguration, request); + } /** - * <p>Bucket lifecycle configuration now supports specifying a lifecycle - * rule using an object key name prefix, one or more object tags, or a combination - * of both. Accordingly, this section describes the latest API. The response - * describes the new filter element that you can use to specify a filter to select - * a subset of objects to which the rule applies. If you are using a previous - * version of the lifecycle configuration, it still works. For the earlier action, - * see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html">GetBucketLifecycle</a>.</p> - * <p>Returns the lifecycle configuration information set on the bucket. - * For information about lifecycle configuration, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object - * Lifecycle Management</a>.</p> <p>To use this operation, you must have permission - * to perform the <code>s3:GetLifecycleConfiguration</code> action. The bucket - * owner has this permission, by default. The bucket owner can grant this - * permission to others. For more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> - * <code>GetBucketLifecycleConfiguration</code> has the following special - * error:</p> <ul> <li> <p>Error code: <code>NoSuchLifecycleConfiguration</code> - * </p> <ul> <li> <p>Description: The lifecycle configuration does not exist.</p> - * </li> <li> <p>HTTP Status Code: 404 Not Found</p> </li> <li> <p>SOAP Fault Code - * Prefix: Client</p> </li> </ul> </li> </ul> <p>The following operations are - * related to <code>GetBucketLifecycleConfiguration</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html">GetBucketLifecycle</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html">PutBucketLifecycle</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html">DeleteBucketLifecycle</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetBucketLifecycleConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetBucketLifecycleConfigurationAsync(const Model::GetBucketLifecycleConfigurationRequest& request, const GetBucketLifecycleConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetBucketLifecycleConfigurationRequestT = Model::GetBucketLifecycleConfigurationRequest> + void GetBucketLifecycleConfigurationAsync(const GetBucketLifecycleConfigurationRequestT& request, const GetBucketLifecycleConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetBucketLifecycleConfiguration, request, handler, context); + } /** * <p>Returns the Region the bucket resides in. You set the bucket's Region using * the <code>LocationConstraint</code> request parameter in a * <code>CreateBucket</code> request. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a>.</p> - * <p> To use this implementation of the operation, you must be the bucket - * owner.</p> <p>The following operations are related to - * <code>GetBucketLocation</code>:</p> <ul> <li> <p> <a + * <p>To use this implementation of the operation, you must be the bucket + * owner.</p> <p>To use this API against an access point, provide the alias of the + * access point in place of the bucket name.</p> <p>The following operations are + * related to <code>GetBucketLocation</code>:</p> <ul> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> * </p> </li> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> @@ -3832,42 +1774,22 @@ namespace Aws virtual Model::GetBucketLocationOutcome GetBucketLocation(const Model::GetBucketLocationRequest& request) const; /** - * <p>Returns the Region the bucket resides in. You set the bucket's Region using - * the <code>LocationConstraint</code> request parameter in a - * <code>CreateBucket</code> request. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a>.</p> - * <p> To use this implementation of the operation, you must be the bucket - * owner.</p> <p>The following operations are related to - * <code>GetBucketLocation</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetBucketLocation that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetBucketLocationOutcomeCallable GetBucketLocationCallable(const Model::GetBucketLocationRequest& request) const; + template<typename GetBucketLocationRequestT = Model::GetBucketLocationRequest> + Model::GetBucketLocationOutcomeCallable GetBucketLocationCallable(const GetBucketLocationRequestT& request) const + { + return SubmitCallable(&S3Client::GetBucketLocation, request); + } /** - * <p>Returns the Region the bucket resides in. You set the bucket's Region using - * the <code>LocationConstraint</code> request parameter in a - * <code>CreateBucket</code> request. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a>.</p> - * <p> To use this implementation of the operation, you must be the bucket - * owner.</p> <p>The following operations are related to - * <code>GetBucketLocation</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetBucketLocation that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetBucketLocationAsync(const Model::GetBucketLocationRequest& request, const GetBucketLocationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetBucketLocationRequestT = Model::GetBucketLocationRequest> + void GetBucketLocationAsync(const GetBucketLocationRequestT& request, const GetBucketLocationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetBucketLocation, request, handler, context); + } /** * <p>Returns the logging status of a bucket and the permissions users have to view @@ -3884,36 +1806,22 @@ namespace Aws virtual Model::GetBucketLoggingOutcome GetBucketLogging(const Model::GetBucketLoggingRequest& request) const; /** - * <p>Returns the logging status of a bucket and the permissions users have to view - * and modify that status. To use GET, you must be the bucket owner.</p> <p>The - * following operations are related to <code>GetBucketLogging</code>:</p> <ul> <li> - * <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLogging.html">PutBucketLogging</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetBucketLogging that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetBucketLoggingOutcomeCallable GetBucketLoggingCallable(const Model::GetBucketLoggingRequest& request) const; + template<typename GetBucketLoggingRequestT = Model::GetBucketLoggingRequest> + Model::GetBucketLoggingOutcomeCallable GetBucketLoggingCallable(const GetBucketLoggingRequestT& request) const + { + return SubmitCallable(&S3Client::GetBucketLogging, request); + } /** - * <p>Returns the logging status of a bucket and the permissions users have to view - * and modify that status. To use GET, you must be the bucket owner.</p> <p>The - * following operations are related to <code>GetBucketLogging</code>:</p> <ul> <li> - * <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLogging.html">PutBucketLogging</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetBucketLogging that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetBucketLoggingAsync(const Model::GetBucketLoggingRequest& request, const GetBucketLoggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetBucketLoggingRequestT = Model::GetBucketLoggingRequest> + void GetBucketLoggingAsync(const GetBucketLoggingRequestT& request, const GetBucketLoggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetBucketLogging, request, handler, context); + } /** * <p>Gets a metrics configuration (specified by the metrics configuration ID) from @@ -3944,64 +1852,22 @@ namespace Aws virtual Model::GetBucketMetricsConfigurationOutcome GetBucketMetricsConfiguration(const Model::GetBucketMetricsConfigurationRequest& request) const; /** - * <p>Gets a metrics configuration (specified by the metrics configuration ID) from - * the bucket. Note that this doesn't include the daily storage metrics.</p> <p> To - * use this operation, you must have permissions to perform the - * <code>s3:GetMetricsConfiguration</code> action. The bucket owner has this - * permission by default. The bucket owner can grant this permission to others. For - * more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> For information - * about CloudWatch request metrics for Amazon S3, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring - * Metrics with Amazon CloudWatch</a>.</p> <p>The following operations are related - * to <code>GetBucketMetricsConfiguration</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html">PutBucketMetricsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html">DeleteBucketMetricsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html">ListBucketMetricsConfigurations</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring - * Metrics with Amazon CloudWatch</a> </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetBucketMetricsConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetBucketMetricsConfigurationOutcomeCallable GetBucketMetricsConfigurationCallable(const Model::GetBucketMetricsConfigurationRequest& request) const; + template<typename GetBucketMetricsConfigurationRequestT = Model::GetBucketMetricsConfigurationRequest> + Model::GetBucketMetricsConfigurationOutcomeCallable GetBucketMetricsConfigurationCallable(const GetBucketMetricsConfigurationRequestT& request) const + { + return SubmitCallable(&S3Client::GetBucketMetricsConfiguration, request); + } /** - * <p>Gets a metrics configuration (specified by the metrics configuration ID) from - * the bucket. Note that this doesn't include the daily storage metrics.</p> <p> To - * use this operation, you must have permissions to perform the - * <code>s3:GetMetricsConfiguration</code> action. The bucket owner has this - * permission by default. The bucket owner can grant this permission to others. For - * more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> For information - * about CloudWatch request metrics for Amazon S3, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring - * Metrics with Amazon CloudWatch</a>.</p> <p>The following operations are related - * to <code>GetBucketMetricsConfiguration</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html">PutBucketMetricsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html">DeleteBucketMetricsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html">ListBucketMetricsConfigurations</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring - * Metrics with Amazon CloudWatch</a> </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetBucketMetricsConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetBucketMetricsConfigurationAsync(const Model::GetBucketMetricsConfigurationRequest& request, const GetBucketMetricsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetBucketMetricsConfigurationRequestT = Model::GetBucketMetricsConfigurationRequest> + void GetBucketMetricsConfigurationAsync(const GetBucketMetricsConfigurationRequestT& request, const GetBucketMetricsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetBucketMetricsConfiguration, request, handler, context); + } /** * <p>Returns the notification configuration of a bucket.</p> <p>If notifications @@ -4026,61 +1892,31 @@ namespace Aws virtual Model::GetBucketNotificationConfigurationOutcome GetBucketNotificationConfiguration(const Model::GetBucketNotificationConfigurationRequest& request) const; /** - * <p>Returns the notification configuration of a bucket.</p> <p>If notifications - * are not enabled on the bucket, the action returns an empty - * <code>NotificationConfiguration</code> element.</p> <p>By default, you must be - * the bucket owner to read the notification configuration of a bucket. However, - * the bucket owner can use a bucket policy to grant permission to other users to - * read this configuration with the <code>s3:GetBucketNotification</code> - * permission.</p> <p>For more information about setting and reading the - * notification configuration on a bucket, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Setting - * Up Notification of Bucket Events</a>. For more information about bucket - * policies, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using - * Bucket Policies</a>.</p> <p>The following action is related to - * <code>GetBucketNotification</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotification.html">PutBucketNotification</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetBucketNotificationConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetBucketNotificationConfigurationOutcomeCallable GetBucketNotificationConfigurationCallable(const Model::GetBucketNotificationConfigurationRequest& request) const; + template<typename GetBucketNotificationConfigurationRequestT = Model::GetBucketNotificationConfigurationRequest> + Model::GetBucketNotificationConfigurationOutcomeCallable GetBucketNotificationConfigurationCallable(const GetBucketNotificationConfigurationRequestT& request) const + { + return SubmitCallable(&S3Client::GetBucketNotificationConfiguration, request); + } /** - * <p>Returns the notification configuration of a bucket.</p> <p>If notifications - * are not enabled on the bucket, the action returns an empty - * <code>NotificationConfiguration</code> element.</p> <p>By default, you must be - * the bucket owner to read the notification configuration of a bucket. However, - * the bucket owner can use a bucket policy to grant permission to other users to - * read this configuration with the <code>s3:GetBucketNotification</code> - * permission.</p> <p>For more information about setting and reading the - * notification configuration on a bucket, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Setting - * Up Notification of Bucket Events</a>. For more information about bucket - * policies, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using - * Bucket Policies</a>.</p> <p>The following action is related to - * <code>GetBucketNotification</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotification.html">PutBucketNotification</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetBucketNotificationConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetBucketNotificationConfigurationAsync(const Model::GetBucketNotificationConfigurationRequest& request, const GetBucketNotificationConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetBucketNotificationConfigurationRequestT = Model::GetBucketNotificationConfigurationRequest> + void GetBucketNotificationConfigurationAsync(const GetBucketNotificationConfigurationRequestT& request, const GetBucketNotificationConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetBucketNotificationConfiguration, request, handler, context); + } /** * <p>Retrieves <code>OwnershipControls</code> for an Amazon S3 bucket. To use this * operation, you must have the <code>s3:GetBucketOwnershipControls</code> * permission. For more information about Amazon S3 permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying - * Permissions in a Policy</a>. </p> <p>For information about Amazon S3 Object + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html">Specifying + * permissions in a policy</a>. </p> <p>For information about Amazon S3 Object * Ownership, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html">Using + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html">Using * Object Ownership</a>. </p> <p>The following operations are related to * <code>GetBucketOwnershipControls</code>:</p> <ul> <li> <p> * <a>PutBucketOwnershipControls</a> </p> </li> <li> <p> @@ -4091,56 +1927,36 @@ namespace Aws virtual Model::GetBucketOwnershipControlsOutcome GetBucketOwnershipControls(const Model::GetBucketOwnershipControlsRequest& request) const; /** - * <p>Retrieves <code>OwnershipControls</code> for an Amazon S3 bucket. To use this - * operation, you must have the <code>s3:GetBucketOwnershipControls</code> - * permission. For more information about Amazon S3 permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying - * Permissions in a Policy</a>. </p> <p>For information about Amazon S3 Object - * Ownership, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html">Using - * Object Ownership</a>. </p> <p>The following operations are related to - * <code>GetBucketOwnershipControls</code>:</p> <ul> <li> <p> - * <a>PutBucketOwnershipControls</a> </p> </li> <li> <p> - * <a>DeleteBucketOwnershipControls</a> </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketOwnershipControls">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetBucketOwnershipControls that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetBucketOwnershipControlsOutcomeCallable GetBucketOwnershipControlsCallable(const Model::GetBucketOwnershipControlsRequest& request) const; + template<typename GetBucketOwnershipControlsRequestT = Model::GetBucketOwnershipControlsRequest> + Model::GetBucketOwnershipControlsOutcomeCallable GetBucketOwnershipControlsCallable(const GetBucketOwnershipControlsRequestT& request) const + { + return SubmitCallable(&S3Client::GetBucketOwnershipControls, request); + } /** - * <p>Retrieves <code>OwnershipControls</code> for an Amazon S3 bucket. To use this - * operation, you must have the <code>s3:GetBucketOwnershipControls</code> - * permission. For more information about Amazon S3 permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying - * Permissions in a Policy</a>. </p> <p>For information about Amazon S3 Object - * Ownership, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html">Using - * Object Ownership</a>. </p> <p>The following operations are related to - * <code>GetBucketOwnershipControls</code>:</p> <ul> <li> <p> - * <a>PutBucketOwnershipControls</a> </p> </li> <li> <p> - * <a>DeleteBucketOwnershipControls</a> </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketOwnershipControls">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetBucketOwnershipControls that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetBucketOwnershipControlsAsync(const Model::GetBucketOwnershipControlsRequest& request, const GetBucketOwnershipControlsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetBucketOwnershipControlsRequestT = Model::GetBucketOwnershipControlsRequest> + void GetBucketOwnershipControlsAsync(const GetBucketOwnershipControlsRequestT& request, const GetBucketOwnershipControlsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetBucketOwnershipControls, request, handler, context); + } /** * <p>Returns the policy of a specified bucket. If you are using an identity other - * than the root user of the AWS account that owns the bucket, the calling identity - * must have the <code>GetBucketPolicy</code> permissions on the specified bucket - * and belong to the bucket owner's account in order to use this operation.</p> - * <p>If you don't have <code>GetBucketPolicy</code> permissions, Amazon S3 returns - * a <code>403 Access Denied</code> error. If you have the correct permissions, but - * you're not using an identity that belongs to the bucket owner's account, Amazon - * S3 returns a <code>405 Method Not Allowed</code> error.</p> <p>As a - * security precaution, the root user of the AWS account that owns a bucket can - * always use this operation, even if the policy explicitly denies the root user - * the ability to perform this action.</p> <p>For more information - * about bucket policies, see <a + * than the root user of the Amazon Web Services account that owns the bucket, the + * calling identity must have the <code>GetBucketPolicy</code> permissions on the + * specified bucket and belong to the bucket owner's account in order to use this + * operation.</p> <p>If you don't have <code>GetBucketPolicy</code> permissions, + * Amazon S3 returns a <code>403 Access Denied</code> error. If you have the + * correct permissions, but you're not using an identity that belongs to the bucket + * owner's account, Amazon S3 returns a <code>405 Method Not Allowed</code> + * error.</p> <p>As a security precaution, the root user of the Amazon + * Web Services account that owns a bucket can always use this operation, even if + * the policy explicitly denies the root user the ability to perform this + * action.</p> <p>For more information about bucket policies, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using * Bucket Policies and User Policies</a>.</p> <p>The following action is related to * <code>GetBucketPolicy</code>:</p> <ul> <li> <p> <a @@ -4152,54 +1968,22 @@ namespace Aws virtual Model::GetBucketPolicyOutcome GetBucketPolicy(const Model::GetBucketPolicyRequest& request) const; /** - * <p>Returns the policy of a specified bucket. If you are using an identity other - * than the root user of the AWS account that owns the bucket, the calling identity - * must have the <code>GetBucketPolicy</code> permissions on the specified bucket - * and belong to the bucket owner's account in order to use this operation.</p> - * <p>If you don't have <code>GetBucketPolicy</code> permissions, Amazon S3 returns - * a <code>403 Access Denied</code> error. If you have the correct permissions, but - * you're not using an identity that belongs to the bucket owner's account, Amazon - * S3 returns a <code>405 Method Not Allowed</code> error.</p> <p>As a - * security precaution, the root user of the AWS account that owns a bucket can - * always use this operation, even if the policy explicitly denies the root user - * the ability to perform this action.</p> <p>For more information - * about bucket policies, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using - * Bucket Policies and User Policies</a>.</p> <p>The following action is related to - * <code>GetBucketPolicy</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetBucketPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetBucketPolicyOutcomeCallable GetBucketPolicyCallable(const Model::GetBucketPolicyRequest& request) const; + template<typename GetBucketPolicyRequestT = Model::GetBucketPolicyRequest> + Model::GetBucketPolicyOutcomeCallable GetBucketPolicyCallable(const GetBucketPolicyRequestT& request) const + { + return SubmitCallable(&S3Client::GetBucketPolicy, request); + } /** - * <p>Returns the policy of a specified bucket. If you are using an identity other - * than the root user of the AWS account that owns the bucket, the calling identity - * must have the <code>GetBucketPolicy</code> permissions on the specified bucket - * and belong to the bucket owner's account in order to use this operation.</p> - * <p>If you don't have <code>GetBucketPolicy</code> permissions, Amazon S3 returns - * a <code>403 Access Denied</code> error. If you have the correct permissions, but - * you're not using an identity that belongs to the bucket owner's account, Amazon - * S3 returns a <code>405 Method Not Allowed</code> error.</p> <p>As a - * security precaution, the root user of the AWS account that owns a bucket can - * always use this operation, even if the policy explicitly denies the root user - * the ability to perform this action.</p> <p>For more information - * about bucket policies, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using - * Bucket Policies and User Policies</a>.</p> <p>The following action is related to - * <code>GetBucketPolicy</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetBucketPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetBucketPolicyAsync(const Model::GetBucketPolicyRequest& request, const GetBucketPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetBucketPolicyRequestT = Model::GetBucketPolicyRequest> + void GetBucketPolicyAsync(const GetBucketPolicyRequestT& request, const GetBucketPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetBucketPolicy, request, handler, context); + } /** * <p>Retrieves the policy status for an Amazon S3 bucket, indicating whether the @@ -4226,56 +2010,22 @@ namespace Aws virtual Model::GetBucketPolicyStatusOutcome GetBucketPolicyStatus(const Model::GetBucketPolicyStatusRequest& request) const; /** - * <p>Retrieves the policy status for an Amazon S3 bucket, indicating whether the - * bucket is public. In order to use this operation, you must have the - * <code>s3:GetBucketPolicyStatus</code> permission. For more information about - * Amazon S3 permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying - * Permissions in a Policy</a>.</p> <p> For more information about when Amazon S3 - * considers a bucket public, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status">The - * Meaning of "Public"</a>. </p> <p>The following operations are related to - * <code>GetBucketPolicyStatus</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using - * Amazon S3 Block Public Access</a> </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html">GetPublicAccessBlock</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html">PutPublicAccessBlock</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html">DeletePublicAccessBlock</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyStatus">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetBucketPolicyStatus that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetBucketPolicyStatusOutcomeCallable GetBucketPolicyStatusCallable(const Model::GetBucketPolicyStatusRequest& request) const; + template<typename GetBucketPolicyStatusRequestT = Model::GetBucketPolicyStatusRequest> + Model::GetBucketPolicyStatusOutcomeCallable GetBucketPolicyStatusCallable(const GetBucketPolicyStatusRequestT& request) const + { + return SubmitCallable(&S3Client::GetBucketPolicyStatus, request); + } /** - * <p>Retrieves the policy status for an Amazon S3 bucket, indicating whether the - * bucket is public. In order to use this operation, you must have the - * <code>s3:GetBucketPolicyStatus</code> permission. For more information about - * Amazon S3 permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying - * Permissions in a Policy</a>.</p> <p> For more information about when Amazon S3 - * considers a bucket public, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status">The - * Meaning of "Public"</a>. </p> <p>The following operations are related to - * <code>GetBucketPolicyStatus</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using - * Amazon S3 Block Public Access</a> </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html">GetPublicAccessBlock</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html">PutPublicAccessBlock</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html">DeletePublicAccessBlock</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyStatus">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetBucketPolicyStatus that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetBucketPolicyStatusAsync(const Model::GetBucketPolicyStatusRequest& request, const GetBucketPolicyStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetBucketPolicyStatusRequestT = Model::GetBucketPolicyStatusRequest> + void GetBucketPolicyStatusAsync(const GetBucketPolicyStatusRequestT& request, const GetBucketPolicyStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetBucketPolicyStatus, request, handler, context); + } /** * <p>Returns the replication configuration of a bucket.</p> <p> It can take @@ -4305,62 +2055,22 @@ namespace Aws virtual Model::GetBucketReplicationOutcome GetBucketReplication(const Model::GetBucketReplicationRequest& request) const; /** - * <p>Returns the replication configuration of a bucket.</p> <p> It can take - * a while to propagate the put or delete a replication configuration to all Amazon - * S3 systems. Therefore, a get request soon after put or delete can return a wrong - * result. </p> <p> For information about replication configuration, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a> - * in the <i>Amazon S3 User Guide</i>.</p> <p>This action requires permissions for - * the <code>s3:GetReplicationConfiguration</code> action. For more information - * about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using - * Bucket Policies and User Policies</a>.</p> <p>If you include the - * <code>Filter</code> element in a replication configuration, you must also - * include the <code>DeleteMarkerReplication</code> and <code>Priority</code> - * elements. The response also returns those elements.</p> <p>For information about - * <code>GetBucketReplication</code> errors, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ReplicationErrorCodeList">List - * of replication-related error codes</a> </p> <p>The following operations are - * related to <code>GetBucketReplication</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html">PutBucketReplication</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html">DeleteBucketReplication</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetBucketReplication that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetBucketReplicationOutcomeCallable GetBucketReplicationCallable(const Model::GetBucketReplicationRequest& request) const; + template<typename GetBucketReplicationRequestT = Model::GetBucketReplicationRequest> + Model::GetBucketReplicationOutcomeCallable GetBucketReplicationCallable(const GetBucketReplicationRequestT& request) const + { + return SubmitCallable(&S3Client::GetBucketReplication, request); + } /** - * <p>Returns the replication configuration of a bucket.</p> <p> It can take - * a while to propagate the put or delete a replication configuration to all Amazon - * S3 systems. Therefore, a get request soon after put or delete can return a wrong - * result. </p> <p> For information about replication configuration, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a> - * in the <i>Amazon S3 User Guide</i>.</p> <p>This action requires permissions for - * the <code>s3:GetReplicationConfiguration</code> action. For more information - * about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using - * Bucket Policies and User Policies</a>.</p> <p>If you include the - * <code>Filter</code> element in a replication configuration, you must also - * include the <code>DeleteMarkerReplication</code> and <code>Priority</code> - * elements. The response also returns those elements.</p> <p>For information about - * <code>GetBucketReplication</code> errors, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ReplicationErrorCodeList">List - * of replication-related error codes</a> </p> <p>The following operations are - * related to <code>GetBucketReplication</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html">PutBucketReplication</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html">DeleteBucketReplication</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetBucketReplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetBucketReplicationAsync(const Model::GetBucketReplicationRequest& request, const GetBucketReplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetBucketReplicationRequestT = Model::GetBucketReplicationRequest> + void GetBucketReplicationAsync(const GetBucketReplicationRequestT& request, const GetBucketReplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetBucketReplication, request, handler, context); + } /** * <p>Returns the request payment configuration of a bucket. To use this version of @@ -4376,43 +2086,31 @@ namespace Aws virtual Model::GetBucketRequestPaymentOutcome GetBucketRequestPayment(const Model::GetBucketRequestPaymentRequest& request) const; /** - * <p>Returns the request payment configuration of a bucket. To use this version of - * the operation, you must be the bucket owner. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester - * Pays Buckets</a>.</p> <p>The following operations are related to - * <code>GetBucketRequestPayment</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html">ListObjects</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetBucketRequestPayment that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetBucketRequestPaymentOutcomeCallable GetBucketRequestPaymentCallable(const Model::GetBucketRequestPaymentRequest& request) const; + template<typename GetBucketRequestPaymentRequestT = Model::GetBucketRequestPaymentRequest> + Model::GetBucketRequestPaymentOutcomeCallable GetBucketRequestPaymentCallable(const GetBucketRequestPaymentRequestT& request) const + { + return SubmitCallable(&S3Client::GetBucketRequestPayment, request); + } /** - * <p>Returns the request payment configuration of a bucket. To use this version of - * the operation, you must be the bucket owner. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester - * Pays Buckets</a>.</p> <p>The following operations are related to - * <code>GetBucketRequestPayment</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html">ListObjects</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetBucketRequestPayment that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetBucketRequestPaymentAsync(const Model::GetBucketRequestPaymentRequest& request, const GetBucketRequestPaymentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetBucketRequestPaymentRequestT = Model::GetBucketRequestPaymentRequest> + void GetBucketRequestPaymentAsync(const GetBucketRequestPaymentRequestT& request, const GetBucketRequestPaymentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetBucketRequestPayment, request, handler, context); + } /** * <p>Returns the tag set associated with the bucket.</p> <p>To use this operation, * you must have permission to perform the <code>s3:GetBucketTagging</code> action. * By default, the bucket owner has this permission and can grant this permission * to others.</p> <p> <code>GetBucketTagging</code> has the following special - * error:</p> <ul> <li> <p>Error code: <code>NoSuchTagSetError</code> </p> <ul> - * <li> <p>Description: There is no tag set associated with the bucket.</p> </li> - * </ul> </li> </ul> <p>The following operations are related to + * error:</p> <ul> <li> <p>Error code: <code>NoSuchTagSet</code> </p> <ul> <li> + * <p>Description: There is no tag set associated with the bucket.</p> </li> </ul> + * </li> </ul> <p>The following operations are related to * <code>GetBucketTagging</code>:</p> <ul> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html">PutBucketTagging</a> * </p> </li> <li> <p> <a @@ -4424,44 +2122,22 @@ namespace Aws virtual Model::GetBucketTaggingOutcome GetBucketTagging(const Model::GetBucketTaggingRequest& request) const; /** - * <p>Returns the tag set associated with the bucket.</p> <p>To use this operation, - * you must have permission to perform the <code>s3:GetBucketTagging</code> action. - * By default, the bucket owner has this permission and can grant this permission - * to others.</p> <p> <code>GetBucketTagging</code> has the following special - * error:</p> <ul> <li> <p>Error code: <code>NoSuchTagSetError</code> </p> <ul> - * <li> <p>Description: There is no tag set associated with the bucket.</p> </li> - * </ul> </li> </ul> <p>The following operations are related to - * <code>GetBucketTagging</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html">PutBucketTagging</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html">DeleteBucketTagging</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetBucketTagging that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetBucketTaggingOutcomeCallable GetBucketTaggingCallable(const Model::GetBucketTaggingRequest& request) const; + template<typename GetBucketTaggingRequestT = Model::GetBucketTaggingRequest> + Model::GetBucketTaggingOutcomeCallable GetBucketTaggingCallable(const GetBucketTaggingRequestT& request) const + { + return SubmitCallable(&S3Client::GetBucketTagging, request); + } /** - * <p>Returns the tag set associated with the bucket.</p> <p>To use this operation, - * you must have permission to perform the <code>s3:GetBucketTagging</code> action. - * By default, the bucket owner has this permission and can grant this permission - * to others.</p> <p> <code>GetBucketTagging</code> has the following special - * error:</p> <ul> <li> <p>Error code: <code>NoSuchTagSetError</code> </p> <ul> - * <li> <p>Description: There is no tag set associated with the bucket.</p> </li> - * </ul> </li> </ul> <p>The following operations are related to - * <code>GetBucketTagging</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html">PutBucketTagging</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html">DeleteBucketTagging</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetBucketTagging that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetBucketTaggingAsync(const Model::GetBucketTaggingRequest& request, const GetBucketTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetBucketTaggingRequestT = Model::GetBucketTaggingRequest> + void GetBucketTaggingAsync(const GetBucketTaggingRequestT& request, const GetBucketTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetBucketTagging, request, handler, context); + } /** * <p>Returns the versioning state of a bucket.</p> <p>To retrieve the versioning @@ -4482,44 +2158,22 @@ namespace Aws virtual Model::GetBucketVersioningOutcome GetBucketVersioning(const Model::GetBucketVersioningRequest& request) const; /** - * <p>Returns the versioning state of a bucket.</p> <p>To retrieve the versioning - * state of a bucket, you must be the bucket owner.</p> <p>This implementation also - * returns the MFA Delete status of the versioning state. If the MFA Delete status - * is <code>enabled</code>, the bucket owner must use an authentication device to - * change the versioning state of the bucket.</p> <p>The following operations are - * related to <code>GetBucketVersioning</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetBucketVersioning that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetBucketVersioningOutcomeCallable GetBucketVersioningCallable(const Model::GetBucketVersioningRequest& request) const; + template<typename GetBucketVersioningRequestT = Model::GetBucketVersioningRequest> + Model::GetBucketVersioningOutcomeCallable GetBucketVersioningCallable(const GetBucketVersioningRequestT& request) const + { + return SubmitCallable(&S3Client::GetBucketVersioning, request); + } /** - * <p>Returns the versioning state of a bucket.</p> <p>To retrieve the versioning - * state of a bucket, you must be the bucket owner.</p> <p>This implementation also - * returns the MFA Delete status of the versioning state. If the MFA Delete status - * is <code>enabled</code>, the bucket owner must use an authentication device to - * change the versioning state of the bucket.</p> <p>The following operations are - * related to <code>GetBucketVersioning</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetBucketVersioning that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetBucketVersioningAsync(const Model::GetBucketVersioningRequest& request, const GetBucketVersioningResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetBucketVersioningRequestT = Model::GetBucketVersioningRequest> + void GetBucketVersioningAsync(const GetBucketVersioningRequestT& request, const GetBucketVersioningResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetBucketVersioning, request, handler, context); + } /** * <p>Returns the website configuration for a bucket. To host website on Amazon S3, @@ -4543,50 +2197,22 @@ namespace Aws virtual Model::GetBucketWebsiteOutcome GetBucketWebsite(const Model::GetBucketWebsiteRequest& request) const; /** - * <p>Returns the website configuration for a bucket. To host website on Amazon S3, - * you can configure a bucket as website by adding a website configuration. For - * more information about hosting websites, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting - * Websites on Amazon S3</a>. </p> <p>This GET action requires the - * <code>S3:GetBucketWebsite</code> permission. By default, only the bucket owner - * can read the bucket website configuration. However, bucket owners can allow - * other users to read the website configuration by writing a bucket policy - * granting them the <code>S3:GetBucketWebsite</code> permission.</p> <p>The - * following operations are related to <code>DeleteBucketWebsite</code>:</p> <ul> - * <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketWebsite.html">DeleteBucketWebsite</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html">PutBucketWebsite</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetBucketWebsite that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetBucketWebsiteOutcomeCallable GetBucketWebsiteCallable(const Model::GetBucketWebsiteRequest& request) const; + template<typename GetBucketWebsiteRequestT = Model::GetBucketWebsiteRequest> + Model::GetBucketWebsiteOutcomeCallable GetBucketWebsiteCallable(const GetBucketWebsiteRequestT& request) const + { + return SubmitCallable(&S3Client::GetBucketWebsite, request); + } /** - * <p>Returns the website configuration for a bucket. To host website on Amazon S3, - * you can configure a bucket as website by adding a website configuration. For - * more information about hosting websites, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting - * Websites on Amazon S3</a>. </p> <p>This GET action requires the - * <code>S3:GetBucketWebsite</code> permission. By default, only the bucket owner - * can read the bucket website configuration. However, bucket owners can allow - * other users to read the website configuration by writing a bucket policy - * granting them the <code>S3:GetBucketWebsite</code> permission.</p> <p>The - * following operations are related to <code>DeleteBucketWebsite</code>:</p> <ul> - * <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketWebsite.html">DeleteBucketWebsite</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html">PutBucketWebsite</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetBucketWebsite that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetBucketWebsiteAsync(const Model::GetBucketWebsiteRequest& request, const GetBucketWebsiteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetBucketWebsiteRequestT = Model::GetBucketWebsiteRequest> + void GetBucketWebsiteAsync(const GetBucketWebsiteRequestT& request, const GetBucketWebsiteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetBucketWebsite, request, handler, context); + } /** * <p>Retrieves objects from Amazon S3. To use <code>GET</code>, you must have @@ -4607,11 +2233,8 @@ namespace Aws * <code>/examplebucket/photos/2006/February/sample.jpg</code>. For more * information about request types, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket">HTTP - * Host Header Bucket Specification</a>.</p> <p>To distribute large files to many - * people, you can save bandwidth costs by using BitTorrent. For more information, - * see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon S3 - * Torrent</a>. For more information about returning the ACL of an object, see <a + * Host Header Bucket Specification</a>.</p> <p>For more information about + * returning the ACL of an object, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html">GetObjectAcl</a>.</p> * <p>If the object you are retrieving is stored in the S3 Glacier or S3 Glacier * Deep Archive storage class, or S3 Intelligent-Tiering Archive or S3 @@ -4623,9 +2246,9 @@ namespace Aws * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html">Restoring * Archived Objects</a>.</p> <p>Encryption request headers, like * <code>x-amz-server-side-encryption</code>, should not be sent for GET requests - * if your object uses server-side encryption with CMKs stored in AWS KMS (SSE-KMS) - * or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If - * your object does use these types of keys, you’ll get an HTTP 400 BadRequest + * if your object uses server-side encryption with KMS keys (SSE-KMS) or + * server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If your + * object does use these types of keys, you’ll get an HTTP 400 BadRequest * error.</p> <p>If you encrypt an object by using server-side encryption with * customer-provided encryption keys (SSE-C) when you store the object in Amazon * S3, then when you GET the object, you must use the following headers:</p> <ul> @@ -4635,14 +2258,13 @@ namespace Aws * information about SSE-C, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side * Encryption (Using Customer-Provided Encryption Keys)</a>.</p> <p>Assuming you - * have permission to read object tags (permission for the - * <code>s3:GetObjectVersionTagging</code> action), the response also returns the + * have the relevant permission to read object tags, the response also returns the * <code>x-amz-tagging-count</code> header that provides the count of number of * tags associated with the object. You can use <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> * to retrieve the tag set associated with an object.</p> <p> <b>Permissions</b> - * </p> <p>You need the <code>s3:GetObject</code> permission for this operation. - * For more information, see <a + * </p> <p>You need the relevant read object (or version) permission for this + * operation. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying * Permissions in a Policy</a>. If the object you request does not exist, the error * Amazon S3 returns depends on whether you also have the @@ -4653,20 +2275,23 @@ namespace Aws * code 403 ("access denied") error.</p> </li> </ul> <p> <b>Versioning</b> </p> * <p>By default, the GET action returns the current version of an object. To * return a different version, use the <code>versionId</code> subresource.</p> - * <p>If the current version of the object is a delete marker, Amazon S3 - * behaves as if the object was deleted and includes <code>x-amz-delete-marker: - * true</code> in the response.</p> <p>For more information about - * versioning, see <a + * <ul> <li> <p> If you supply a <code>versionId</code>, you need the + * <code>s3:GetObjectVersion</code> permission to access a specific version of an + * object. If you request a specific version, you do not need to have the + * <code>s3:GetObject</code> permission. </p> </li> <li> <p>If the current version + * of the object is a delete marker, Amazon S3 behaves as if the object was deleted + * and includes <code>x-amz-delete-marker: true</code> in the response.</p> </li> + * </ul> <p>For more information about versioning, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html">PutBucketVersioning</a>. * </p> <p> <b>Overriding Response Header Values</b> </p> <p>There are times when * you want to override certain response header values in a GET response. For - * example, you might override the Content-Disposition response header value in - * your GET request.</p> <p>You can override values for a set of response headers - * using the following query parameters. These response header values are sent only - * on a successful request, that is, when status code 200 OK is returned. The set - * of headers you can override using these parameters is a subset of the headers - * that Amazon S3 accepts when you create an object. The response headers that you - * can override for the GET response are <code>Content-Type</code>, + * example, you might override the <code>Content-Disposition</code> response header + * value in your GET request.</p> <p>You can override values for a set of response + * headers using the following query parameters. These response header values are + * sent only on a successful request, that is, when status code 200 OK is returned. + * The set of headers you can override using these parameters is a subset of the + * headers that Amazon S3 accepts when you create an object. The response headers + * that you can override for the GET response are <code>Content-Type</code>, * <code>Content-Language</code>, <code>Expires</code>, <code>Cache-Control</code>, * <code>Content-Disposition</code>, and <code>Content-Encoding</code>. To override * these header values in the GET response, you use the following request @@ -4701,243 +2326,37 @@ namespace Aws virtual Model::GetObjectOutcome GetObject(const Model::GetObjectRequest& request) const; /** - * <p>Retrieves objects from Amazon S3. To use <code>GET</code>, you must have - * <code>READ</code> access to the object. If you grant <code>READ</code> access to - * the anonymous user, you can return the object without using an authorization - * header.</p> <p>An Amazon S3 bucket has no directory hierarchy such as you would - * find in a typical computer file system. You can, however, create a logical - * hierarchy by using object key names that imply a folder structure. For example, - * instead of naming an object <code>sample.jpg</code>, you can name it - * <code>photos/2006/February/sample.jpg</code>.</p> <p>To get an object from such - * a logical hierarchy, specify the full key name for the object in the - * <code>GET</code> operation. For a virtual hosted-style request example, if you - * have the object <code>photos/2006/February/sample.jpg</code>, specify the - * resource as <code>/photos/2006/February/sample.jpg</code>. For a path-style - * request example, if you have the object - * <code>photos/2006/February/sample.jpg</code> in the bucket named - * <code>examplebucket</code>, specify the resource as - * <code>/examplebucket/photos/2006/February/sample.jpg</code>. For more - * information about request types, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket">HTTP - * Host Header Bucket Specification</a>.</p> <p>To distribute large files to many - * people, you can save bandwidth costs by using BitTorrent. For more information, - * see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon S3 - * Torrent</a>. For more information about returning the ACL of an object, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html">GetObjectAcl</a>.</p> - * <p>If the object you are retrieving is stored in the S3 Glacier or S3 Glacier - * Deep Archive storage class, or S3 Intelligent-Tiering Archive or S3 - * Intelligent-Tiering Deep Archive tiers, before you can retrieve the object you - * must first restore a copy using <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a>. - * Otherwise, this action returns an <code>InvalidObjectStateError</code> error. - * For information about restoring archived objects, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html">Restoring - * Archived Objects</a>.</p> <p>Encryption request headers, like - * <code>x-amz-server-side-encryption</code>, should not be sent for GET requests - * if your object uses server-side encryption with CMKs stored in AWS KMS (SSE-KMS) - * or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If - * your object does use these types of keys, you’ll get an HTTP 400 BadRequest - * error.</p> <p>If you encrypt an object by using server-side encryption with - * customer-provided encryption keys (SSE-C) when you store the object in Amazon - * S3, then when you GET the object, you must use the following headers:</p> <ul> - * <li> <p>x-amz-server-side-encryption-customer-algorithm</p> </li> <li> - * <p>x-amz-server-side-encryption-customer-key</p> </li> <li> - * <p>x-amz-server-side-encryption-customer-key-MD5</p> </li> </ul> <p>For more - * information about SSE-C, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys)</a>.</p> <p>Assuming you - * have permission to read object tags (permission for the - * <code>s3:GetObjectVersionTagging</code> action), the response also returns the - * <code>x-amz-tagging-count</code> header that provides the count of number of - * tags associated with the object. You can use <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> - * to retrieve the tag set associated with an object.</p> <p> <b>Permissions</b> - * </p> <p>You need the <code>s3:GetObject</code> permission for this operation. - * For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying - * Permissions in a Policy</a>. If the object you request does not exist, the error - * Amazon S3 returns depends on whether you also have the - * <code>s3:ListBucket</code> permission.</p> <ul> <li> <p>If you have the - * <code>s3:ListBucket</code> permission on the bucket, Amazon S3 will return an - * HTTP status code 404 ("no such key") error.</p> </li> <li> <p>If you don’t have - * the <code>s3:ListBucket</code> permission, Amazon S3 will return an HTTP status - * code 403 ("access denied") error.</p> </li> </ul> <p> <b>Versioning</b> </p> - * <p>By default, the GET action returns the current version of an object. To - * return a different version, use the <code>versionId</code> subresource.</p> - * <p>If the current version of the object is a delete marker, Amazon S3 - * behaves as if the object was deleted and includes <code>x-amz-delete-marker: - * true</code> in the response.</p> <p>For more information about - * versioning, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html">PutBucketVersioning</a>. - * </p> <p> <b>Overriding Response Header Values</b> </p> <p>There are times when - * you want to override certain response header values in a GET response. For - * example, you might override the Content-Disposition response header value in - * your GET request.</p> <p>You can override values for a set of response headers - * using the following query parameters. These response header values are sent only - * on a successful request, that is, when status code 200 OK is returned. The set - * of headers you can override using these parameters is a subset of the headers - * that Amazon S3 accepts when you create an object. The response headers that you - * can override for the GET response are <code>Content-Type</code>, - * <code>Content-Language</code>, <code>Expires</code>, <code>Cache-Control</code>, - * <code>Content-Disposition</code>, and <code>Content-Encoding</code>. To override - * these header values in the GET response, you use the following request - * parameters.</p> <p>You must sign the request, either using an - * Authorization header or a presigned URL, when using these parameters. They - * cannot be used with an unsigned (anonymous) request.</p> <ul> <li> <p> - * <code>response-content-type</code> </p> </li> <li> <p> - * <code>response-content-language</code> </p> </li> <li> <p> - * <code>response-expires</code> </p> </li> <li> <p> - * <code>response-cache-control</code> </p> </li> <li> <p> - * <code>response-content-disposition</code> </p> </li> <li> <p> - * <code>response-content-encoding</code> </p> </li> </ul> <p> <b>Additional - * Considerations about Request Headers</b> </p> <p>If both of the - * <code>If-Match</code> and <code>If-Unmodified-Since</code> headers are present - * in the request as follows: <code>If-Match</code> condition evaluates to - * <code>true</code>, and; <code>If-Unmodified-Since</code> condition evaluates to - * <code>false</code>; then, S3 returns 200 OK and the data requested. </p> <p>If - * both of the <code>If-None-Match</code> and <code>If-Modified-Since</code> - * headers are present in the request as follows:<code> If-None-Match</code> - * condition evaluates to <code>false</code>, and; <code>If-Modified-Since</code> - * condition evaluates to <code>true</code>; then, S3 returns 304 Not Modified - * response code.</p> <p>For more information about conditional requests, see <a - * href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>.</p> <p>The following - * operations are related to <code>GetObject</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html">ListBuckets</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html">GetObjectAcl</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject">AWS API - * Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetObject that returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetObjectOutcomeCallable GetObjectCallable(const Model::GetObjectRequest& request) const; /** - * <p>Retrieves objects from Amazon S3. To use <code>GET</code>, you must have - * <code>READ</code> access to the object. If you grant <code>READ</code> access to - * the anonymous user, you can return the object without using an authorization - * header.</p> <p>An Amazon S3 bucket has no directory hierarchy such as you would - * find in a typical computer file system. You can, however, create a logical - * hierarchy by using object key names that imply a folder structure. For example, - * instead of naming an object <code>sample.jpg</code>, you can name it - * <code>photos/2006/February/sample.jpg</code>.</p> <p>To get an object from such - * a logical hierarchy, specify the full key name for the object in the - * <code>GET</code> operation. For a virtual hosted-style request example, if you - * have the object <code>photos/2006/February/sample.jpg</code>, specify the - * resource as <code>/photos/2006/February/sample.jpg</code>. For a path-style - * request example, if you have the object - * <code>photos/2006/February/sample.jpg</code> in the bucket named - * <code>examplebucket</code>, specify the resource as - * <code>/examplebucket/photos/2006/February/sample.jpg</code>. For more - * information about request types, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket">HTTP - * Host Header Bucket Specification</a>.</p> <p>To distribute large files to many - * people, you can save bandwidth costs by using BitTorrent. For more information, - * see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon S3 - * Torrent</a>. For more information about returning the ACL of an object, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html">GetObjectAcl</a>.</p> - * <p>If the object you are retrieving is stored in the S3 Glacier or S3 Glacier - * Deep Archive storage class, or S3 Intelligent-Tiering Archive or S3 - * Intelligent-Tiering Deep Archive tiers, before you can retrieve the object you - * must first restore a copy using <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a>. - * Otherwise, this action returns an <code>InvalidObjectStateError</code> error. - * For information about restoring archived objects, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html">Restoring - * Archived Objects</a>.</p> <p>Encryption request headers, like - * <code>x-amz-server-side-encryption</code>, should not be sent for GET requests - * if your object uses server-side encryption with CMKs stored in AWS KMS (SSE-KMS) - * or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If - * your object does use these types of keys, you’ll get an HTTP 400 BadRequest - * error.</p> <p>If you encrypt an object by using server-side encryption with - * customer-provided encryption keys (SSE-C) when you store the object in Amazon - * S3, then when you GET the object, you must use the following headers:</p> <ul> - * <li> <p>x-amz-server-side-encryption-customer-algorithm</p> </li> <li> - * <p>x-amz-server-side-encryption-customer-key</p> </li> <li> - * <p>x-amz-server-side-encryption-customer-key-MD5</p> </li> </ul> <p>For more - * information about SSE-C, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys)</a>.</p> <p>Assuming you - * have permission to read object tags (permission for the - * <code>s3:GetObjectVersionTagging</code> action), the response also returns the - * <code>x-amz-tagging-count</code> header that provides the count of number of - * tags associated with the object. You can use <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> - * to retrieve the tag set associated with an object.</p> <p> <b>Permissions</b> - * </p> <p>You need the <code>s3:GetObject</code> permission for this operation. - * For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying - * Permissions in a Policy</a>. If the object you request does not exist, the error - * Amazon S3 returns depends on whether you also have the - * <code>s3:ListBucket</code> permission.</p> <ul> <li> <p>If you have the - * <code>s3:ListBucket</code> permission on the bucket, Amazon S3 will return an - * HTTP status code 404 ("no such key") error.</p> </li> <li> <p>If you don’t have - * the <code>s3:ListBucket</code> permission, Amazon S3 will return an HTTP status - * code 403 ("access denied") error.</p> </li> </ul> <p> <b>Versioning</b> </p> - * <p>By default, the GET action returns the current version of an object. To - * return a different version, use the <code>versionId</code> subresource.</p> - * <p>If the current version of the object is a delete marker, Amazon S3 - * behaves as if the object was deleted and includes <code>x-amz-delete-marker: - * true</code> in the response.</p> <p>For more information about - * versioning, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html">PutBucketVersioning</a>. - * </p> <p> <b>Overriding Response Header Values</b> </p> <p>There are times when - * you want to override certain response header values in a GET response. For - * example, you might override the Content-Disposition response header value in - * your GET request.</p> <p>You can override values for a set of response headers - * using the following query parameters. These response header values are sent only - * on a successful request, that is, when status code 200 OK is returned. The set - * of headers you can override using these parameters is a subset of the headers - * that Amazon S3 accepts when you create an object. The response headers that you - * can override for the GET response are <code>Content-Type</code>, - * <code>Content-Language</code>, <code>Expires</code>, <code>Cache-Control</code>, - * <code>Content-Disposition</code>, and <code>Content-Encoding</code>. To override - * these header values in the GET response, you use the following request - * parameters.</p> <p>You must sign the request, either using an - * Authorization header or a presigned URL, when using these parameters. They - * cannot be used with an unsigned (anonymous) request.</p> <ul> <li> <p> - * <code>response-content-type</code> </p> </li> <li> <p> - * <code>response-content-language</code> </p> </li> <li> <p> - * <code>response-expires</code> </p> </li> <li> <p> - * <code>response-cache-control</code> </p> </li> <li> <p> - * <code>response-content-disposition</code> </p> </li> <li> <p> - * <code>response-content-encoding</code> </p> </li> </ul> <p> <b>Additional - * Considerations about Request Headers</b> </p> <p>If both of the - * <code>If-Match</code> and <code>If-Unmodified-Since</code> headers are present - * in the request as follows: <code>If-Match</code> condition evaluates to - * <code>true</code>, and; <code>If-Unmodified-Since</code> condition evaluates to - * <code>false</code>; then, S3 returns 200 OK and the data requested. </p> <p>If - * both of the <code>If-None-Match</code> and <code>If-Modified-Since</code> - * headers are present in the request as follows:<code> If-None-Match</code> - * condition evaluates to <code>false</code>, and; <code>If-Modified-Since</code> - * condition evaluates to <code>true</code>; then, S3 returns 304 Not Modified - * response code.</p> <p>For more information about conditional requests, see <a - * href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>.</p> <p>The following - * operations are related to <code>GetObject</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html">ListBuckets</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html">GetObjectAcl</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject">AWS API - * Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetObject that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetObjectAsync(const Model::GetObjectRequest& request, const GetObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; /** * <p>Returns the access control list (ACL) of an object. To use this operation, - * you must have <code>READ_ACP</code> access to the object.</p> <p>This action is - * not supported by Amazon S3 on Outposts.</p> <p> <b>Versioning</b> </p> <p>By - * default, GET returns ACL information about the current version of an object. To - * return ACL information about a different version, use the versionId - * subresource.</p> <p>The following operations are related to + * you must have <code>s3:GetObjectAcl</code> permissions or <code>READ_ACP</code> + * access to the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#acl-access-policy-permission-mapping">Mapping + * of ACL permissions and access policy permissions</a> in the <i>Amazon S3 User + * Guide</i> </p> <p>This action is not supported by Amazon S3 on Outposts.</p> <p> + * <b>Versioning</b> </p> <p>By default, GET returns ACL information about the + * current version of an object. To return ACL information about a different + * version, use the versionId subresource.</p> <p>If your bucket uses the + * bucket owner enforced setting for S3 Object Ownership, requests to read ACLs are + * still supported and return the <code>bucket-owner-full-control</code> ACL with + * the owner being the account that created the bucket. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html"> + * Controlling object ownership and disabling ACLs</a> in the <i>Amazon S3 User + * Guide</i>.</p> <p>The following operations are related to * <code>GetObjectAcl</code>:</p> <ul> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html">GetObjectAttributes</a> + * </p> </li> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> * </p> </li> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> @@ -4948,151 +2367,213 @@ namespace Aws virtual Model::GetObjectAclOutcome GetObjectAcl(const Model::GetObjectAclRequest& request) const; /** - * <p>Returns the access control list (ACL) of an object. To use this operation, - * you must have <code>READ_ACP</code> access to the object.</p> <p>This action is - * not supported by Amazon S3 on Outposts.</p> <p> <b>Versioning</b> </p> <p>By - * default, GET returns ACL information about the current version of an object. To - * return ACL information about a different version, use the versionId - * subresource.</p> <p>The following operations are related to - * <code>GetObjectAcl</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl">AWS API - * Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetObjectAcl that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetObjectAclOutcomeCallable GetObjectAclCallable(const Model::GetObjectAclRequest& request) const; + template<typename GetObjectAclRequestT = Model::GetObjectAclRequest> + Model::GetObjectAclOutcomeCallable GetObjectAclCallable(const GetObjectAclRequestT& request) const + { + return SubmitCallable(&S3Client::GetObjectAcl, request); + } /** - * <p>Returns the access control list (ACL) of an object. To use this operation, - * you must have <code>READ_ACP</code> access to the object.</p> <p>This action is - * not supported by Amazon S3 on Outposts.</p> <p> <b>Versioning</b> </p> <p>By - * default, GET returns ACL information about the current version of an object. To - * return ACL information about a different version, use the versionId - * subresource.</p> <p>The following operations are related to - * <code>GetObjectAcl</code>:</p> <ul> <li> <p> <a + * An Async wrapper for GetObjectAcl that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template<typename GetObjectAclRequestT = Model::GetObjectAclRequest> + void GetObjectAclAsync(const GetObjectAclRequestT& request, const GetObjectAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetObjectAcl, request, handler, context); + } + + /** + * <p>Retrieves all the metadata from an object without returning the object + * itself. This action is useful if you're interested only in an object's metadata. + * To use <code>GetObjectAttributes</code>, you must have READ access to the + * object.</p> <p> <code>GetObjectAttributes</code> combines the functionality of + * <code>GetObjectAcl</code>, <code>GetObjectLegalHold</code>, + * <code>GetObjectLockConfiguration</code>, <code>GetObjectRetention</code>, + * <code>GetObjectTagging</code>, <code>HeadObject</code>, and + * <code>ListParts</code>. All of the data returned with each of those individual + * calls can be returned with a single call to + * <code>GetObjectAttributes</code>.</p> <p>If you encrypt an object by using + * server-side encryption with customer-provided encryption keys (SSE-C) when you + * store the object in Amazon S3, then when you retrieve the metadata from the + * object, you must use the following headers:</p> <ul> <li> <p> + * <code>x-amz-server-side-encryption-customer-algorithm</code> </p> </li> <li> <p> + * <code>x-amz-server-side-encryption-customer-key</code> </p> </li> <li> <p> + * <code>x-amz-server-side-encryption-customer-key-MD5</code> </p> </li> </ul> + * <p>For more information about SSE-C, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys)</a> in the <i>Amazon S3 + * User Guide</i>.</p> <ul> <li> <p>Encryption request headers, such as + * <code>x-amz-server-side-encryption</code>, should not be sent for GET requests + * if your object uses server-side encryption with Amazon Web Services KMS keys + * stored in Amazon Web Services Key Management Service (SSE-KMS) or server-side + * encryption with Amazon S3 managed encryption keys (SSE-S3). If your object does + * use these types of keys, you'll get an HTTP <code>400 Bad Request</code> + * error.</p> </li> <li> <p> The last modified property in this case is the + * creation date of the object.</p> </li> </ul> <p>Consider the following + * when using request headers:</p> <ul> <li> <p> If both of the + * <code>If-Match</code> and <code>If-Unmodified-Since</code> headers are present + * in the request as follows, then Amazon S3 returns the HTTP status code <code>200 + * OK</code> and the data requested:</p> <ul> <li> <p> <code>If-Match</code> + * condition evaluates to <code>true</code>.</p> </li> <li> <p> + * <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>.</p> + * </li> </ul> </li> <li> <p>If both of the <code>If-None-Match</code> and + * <code>If-Modified-Since</code> headers are present in the request as follows, + * then Amazon S3 returns the HTTP status code <code>304 Not Modified</code>:</p> + * <ul> <li> <p> <code>If-None-Match</code> condition evaluates to + * <code>false</code>.</p> </li> <li> <p> <code>If-Modified-Since</code> condition + * evaluates to <code>true</code>.</p> </li> </ul> </li> </ul> <p>For more + * information about conditional requests, see <a + * href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>.</p> <p> + * <b>Permissions</b> </p> <p>The permissions that you need to use this operation + * depend on whether the bucket is versioned. If the bucket is versioned, you need + * both the <code>s3:GetObjectVersion</code> and + * <code>s3:GetObjectVersionAttributes</code> permissions for this operation. If + * the bucket is not versioned, you need the <code>s3:GetObject</code> and + * <code>s3:GetObjectAttributes</code> permissions. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a> in the <i>Amazon S3 User Guide</i>. If the object + * that you request does not exist, the error Amazon S3 returns depends on whether + * you also have the <code>s3:ListBucket</code> permission.</p> <ul> <li> <p>If you + * have the <code>s3:ListBucket</code> permission on the bucket, Amazon S3 returns + * an HTTP status code <code>404 Not Found</code> ("no such key") error.</p> </li> + * <li> <p>If you don't have the <code>s3:ListBucket</code> permission, Amazon S3 + * returns an HTTP status code <code>403 Forbidden</code> ("access denied") + * error.</p> </li> </ul> <p>The following actions are related to + * <code>GetObjectAttributes</code>:</p> <ul> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html">GetObjectAcl</a> * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html">GetObjectLegalHold</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLockConfiguration.html">GetObjectLockConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectRetention.html">GetObjectRetention</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html">HeadObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl">AWS API - * Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAttributes">AWS + * API Reference</a></p> */ - virtual void GetObjectAclAsync(const Model::GetObjectAclRequest& request, const GetObjectAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + virtual Model::GetObjectAttributesOutcome GetObjectAttributes(const Model::GetObjectAttributesRequest& request) const; /** - * <p>Gets an object's current Legal Hold status. For more information, see <a + * A Callable wrapper for GetObjectAttributes that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template<typename GetObjectAttributesRequestT = Model::GetObjectAttributesRequest> + Model::GetObjectAttributesOutcomeCallable GetObjectAttributesCallable(const GetObjectAttributesRequestT& request) const + { + return SubmitCallable(&S3Client::GetObjectAttributes, request); + } + + /** + * An Async wrapper for GetObjectAttributes that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template<typename GetObjectAttributesRequestT = Model::GetObjectAttributesRequest> + void GetObjectAttributesAsync(const GetObjectAttributesRequestT& request, const GetObjectAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetObjectAttributes, request, handler, context); + } + + /** + * <p>Gets an object's current legal hold status. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking - * Objects</a>.</p> <p>This action is not supported by Amazon S3 on - * Outposts.</p><p><h3>See Also:</h3> <a + * Objects</a>.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + * <p>The following action is related to <code>GetObjectLegalHold</code>:</p> <ul> + * <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html">GetObjectAttributes</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLegalHold">AWS * API Reference</a></p> */ virtual Model::GetObjectLegalHoldOutcome GetObjectLegalHold(const Model::GetObjectLegalHoldRequest& request) const; /** - * <p>Gets an object's current Legal Hold status. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking - * Objects</a>.</p> <p>This action is not supported by Amazon S3 on - * Outposts.</p><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLegalHold">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetObjectLegalHold that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetObjectLegalHoldOutcomeCallable GetObjectLegalHoldCallable(const Model::GetObjectLegalHoldRequest& request) const; + template<typename GetObjectLegalHoldRequestT = Model::GetObjectLegalHoldRequest> + Model::GetObjectLegalHoldOutcomeCallable GetObjectLegalHoldCallable(const GetObjectLegalHoldRequestT& request) const + { + return SubmitCallable(&S3Client::GetObjectLegalHold, request); + } /** - * <p>Gets an object's current Legal Hold status. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking - * Objects</a>.</p> <p>This action is not supported by Amazon S3 on - * Outposts.</p><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLegalHold">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetObjectLegalHold that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetObjectLegalHoldAsync(const Model::GetObjectLegalHoldRequest& request, const GetObjectLegalHoldResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetObjectLegalHoldRequestT = Model::GetObjectLegalHoldRequest> + void GetObjectLegalHoldAsync(const GetObjectLegalHoldRequestT& request, const GetObjectLegalHoldResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetObjectLegalHold, request, handler, context); + } /** * <p>Gets the Object Lock configuration for a bucket. The rule specified in the * Object Lock configuration will be applied by default to every new object placed * in the specified bucket. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking - * Objects</a>.</p><p><h3>See Also:</h3> <a + * Objects</a>.</p> <p>The following action is related to + * <code>GetObjectLockConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html">GetObjectAttributes</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLockConfiguration">AWS * API Reference</a></p> */ virtual Model::GetObjectLockConfigurationOutcome GetObjectLockConfiguration(const Model::GetObjectLockConfigurationRequest& request) const; /** - * <p>Gets the Object Lock configuration for a bucket. The rule specified in the - * Object Lock configuration will be applied by default to every new object placed - * in the specified bucket. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking - * Objects</a>.</p><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLockConfiguration">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetObjectLockConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetObjectLockConfigurationOutcomeCallable GetObjectLockConfigurationCallable(const Model::GetObjectLockConfigurationRequest& request) const; + template<typename GetObjectLockConfigurationRequestT = Model::GetObjectLockConfigurationRequest> + Model::GetObjectLockConfigurationOutcomeCallable GetObjectLockConfigurationCallable(const GetObjectLockConfigurationRequestT& request) const + { + return SubmitCallable(&S3Client::GetObjectLockConfiguration, request); + } /** - * <p>Gets the Object Lock configuration for a bucket. The rule specified in the - * Object Lock configuration will be applied by default to every new object placed - * in the specified bucket. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking - * Objects</a>.</p><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLockConfiguration">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetObjectLockConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetObjectLockConfigurationAsync(const Model::GetObjectLockConfigurationRequest& request, const GetObjectLockConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetObjectLockConfigurationRequestT = Model::GetObjectLockConfigurationRequest> + void GetObjectLockConfigurationAsync(const GetObjectLockConfigurationRequestT& request, const GetObjectLockConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetObjectLockConfiguration, request, handler, context); + } /** * <p>Retrieves an object's retention settings. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking - * Objects</a>.</p> <p>This action is not supported by Amazon S3 on - * Outposts.</p><p><h3>See Also:</h3> <a + * Objects</a>.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + * <p>The following action is related to <code>GetObjectRetention</code>:</p> <ul> + * <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html">GetObjectAttributes</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectRetention">AWS * API Reference</a></p> */ virtual Model::GetObjectRetentionOutcome GetObjectRetention(const Model::GetObjectRetentionRequest& request) const; /** - * <p>Retrieves an object's retention settings. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking - * Objects</a>.</p> <p>This action is not supported by Amazon S3 on - * Outposts.</p><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectRetention">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetObjectRetention that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetObjectRetentionOutcomeCallable GetObjectRetentionCallable(const Model::GetObjectRetentionRequest& request) const; + template<typename GetObjectRetentionRequestT = Model::GetObjectRetentionRequest> + Model::GetObjectRetentionOutcomeCallable GetObjectRetentionCallable(const GetObjectRetentionRequestT& request) const + { + return SubmitCallable(&S3Client::GetObjectRetention, request); + } /** - * <p>Retrieves an object's retention settings. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking - * Objects</a>.</p> <p>This action is not supported by Amazon S3 on - * Outposts.</p><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectRetention">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetObjectRetention that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetObjectRetentionAsync(const Model::GetObjectRetentionRequest& request, const GetObjectRetentionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetObjectRetentionRequestT = Model::GetObjectRetentionRequest> + void GetObjectRetentionAsync(const GetObjectRetentionRequestT& request, const GetObjectRetentionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetObjectRetention, request, handler, context); + } /** * <p>Returns the tag-set of an object. You send the GET request against the @@ -5106,11 +2587,13 @@ namespace Aws * owner has this permission and can grant this permission to others.</p> <p> For * information about the Amazon S3 object tagging feature, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html">Object - * Tagging</a>.</p> <p>The following action is related to + * Tagging</a>.</p> <p>The following actions are related to * <code>GetObjectTagging</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html">PutObjectTagging</a> - * </p> </li> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html">DeleteObjectTagging</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html">GetObjectAttributes</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html">PutObjectTagging</a> * </p> </li> </ul><p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging">AWS * API Reference</a></p> @@ -5118,54 +2601,22 @@ namespace Aws virtual Model::GetObjectTaggingOutcome GetObjectTagging(const Model::GetObjectTaggingRequest& request) const; /** - * <p>Returns the tag-set of an object. You send the GET request against the - * tagging subresource associated with the object.</p> <p>To use this operation, - * you must have permission to perform the <code>s3:GetObjectTagging</code> action. - * By default, the GET action returns information about current version of an - * object. For a versioned bucket, you can have multiple versions of an object in - * your bucket. To retrieve tags of any other version, use the versionId query - * parameter. You also need permission for the - * <code>s3:GetObjectVersionTagging</code> action.</p> <p> By default, the bucket - * owner has this permission and can grant this permission to others.</p> <p> For - * information about the Amazon S3 object tagging feature, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html">Object - * Tagging</a>.</p> <p>The following action is related to - * <code>GetObjectTagging</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html">PutObjectTagging</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html">DeleteObjectTagging</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetObjectTagging that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetObjectTaggingOutcomeCallable GetObjectTaggingCallable(const Model::GetObjectTaggingRequest& request) const; + template<typename GetObjectTaggingRequestT = Model::GetObjectTaggingRequest> + Model::GetObjectTaggingOutcomeCallable GetObjectTaggingCallable(const GetObjectTaggingRequestT& request) const + { + return SubmitCallable(&S3Client::GetObjectTagging, request); + } /** - * <p>Returns the tag-set of an object. You send the GET request against the - * tagging subresource associated with the object.</p> <p>To use this operation, - * you must have permission to perform the <code>s3:GetObjectTagging</code> action. - * By default, the GET action returns information about current version of an - * object. For a versioned bucket, you can have multiple versions of an object in - * your bucket. To retrieve tags of any other version, use the versionId query - * parameter. You also need permission for the - * <code>s3:GetObjectVersionTagging</code> action.</p> <p> By default, the bucket - * owner has this permission and can grant this permission to others.</p> <p> For - * information about the Amazon S3 object tagging feature, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html">Object - * Tagging</a>.</p> <p>The following action is related to - * <code>GetObjectTagging</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html">PutObjectTagging</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html">DeleteObjectTagging</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetObjectTagging that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetObjectTaggingAsync(const Model::GetObjectTaggingRequest& request, const GetObjectTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetObjectTaggingRequestT = Model::GetObjectTaggingRequest> + void GetObjectTaggingAsync(const GetObjectTaggingRequestT& request, const GetObjectTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetObjectTagging, request, handler, context); + } /** * <p>Returns torrent files from a bucket. BitTorrent can save you bandwidth when @@ -5185,42 +2636,22 @@ namespace Aws virtual Model::GetObjectTorrentOutcome GetObjectTorrent(const Model::GetObjectTorrentRequest& request) const; /** - * <p>Returns torrent files from a bucket. BitTorrent can save you bandwidth when - * you're distributing large files. For more information about BitTorrent, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Using - * BitTorrent with Amazon S3</a>.</p> <p>You can get torrent only for - * objects that are less than 5 GB in size, and that are not encrypted using - * server-side encryption with a customer-provided encryption key.</p> - * <p>To use GET, you must have READ access to the object.</p> <p>This action is - * not supported by Amazon S3 on Outposts.</p> <p>The following action is related - * to <code>GetObjectTorrent</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetObjectTorrent that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetObjectTorrentOutcomeCallable GetObjectTorrentCallable(const Model::GetObjectTorrentRequest& request) const; + template<typename GetObjectTorrentRequestT = Model::GetObjectTorrentRequest> + Model::GetObjectTorrentOutcomeCallable GetObjectTorrentCallable(const GetObjectTorrentRequestT& request) const + { + return SubmitCallable(&S3Client::GetObjectTorrent, request); + } /** - * <p>Returns torrent files from a bucket. BitTorrent can save you bandwidth when - * you're distributing large files. For more information about BitTorrent, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Using - * BitTorrent with Amazon S3</a>.</p> <p>You can get torrent only for - * objects that are less than 5 GB in size, and that are not encrypted using - * server-side encryption with a customer-provided encryption key.</p> - * <p>To use GET, you must have READ access to the object.</p> <p>This action is - * not supported by Amazon S3 on Outposts.</p> <p>The following action is related - * to <code>GetObjectTorrent</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetObjectTorrent that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetObjectTorrentAsync(const Model::GetObjectTorrentRequest& request, const GetObjectTorrentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetObjectTorrentRequestT = Model::GetObjectTorrentRequest> + void GetObjectTorrentAsync(const GetObjectTorrentRequestT& request, const GetObjectTorrentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetObjectTorrent, request, handler, context); + } /** * <p>Retrieves the <code>PublicAccessBlock</code> configuration for an Amazon S3 @@ -5253,68 +2684,22 @@ namespace Aws virtual Model::GetPublicAccessBlockOutcome GetPublicAccessBlock(const Model::GetPublicAccessBlockRequest& request) const; /** - * <p>Retrieves the <code>PublicAccessBlock</code> configuration for an Amazon S3 - * bucket. To use this operation, you must have the - * <code>s3:GetBucketPublicAccessBlock</code> permission. For more information - * about Amazon S3 permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying - * Permissions in a Policy</a>.</p> <p>When Amazon S3 evaluates the - * <code>PublicAccessBlock</code> configuration for a bucket or an object, it - * checks the <code>PublicAccessBlock</code> configuration for both the bucket (or - * the bucket that contains the object) and the bucket owner's account. If the - * <code>PublicAccessBlock</code> settings are different between the bucket and the - * account, Amazon S3 uses the most restrictive combination of the bucket-level and - * account-level settings.</p> <p>For more information about when - * Amazon S3 considers a bucket or an object public, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status">The - * Meaning of "Public"</a>.</p> <p>The following operations are related to - * <code>GetPublicAccessBlock</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using - * Amazon S3 Block Public Access</a> </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html">PutPublicAccessBlock</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html">GetPublicAccessBlock</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html">DeletePublicAccessBlock</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetPublicAccessBlock">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for GetPublicAccessBlock that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::GetPublicAccessBlockOutcomeCallable GetPublicAccessBlockCallable(const Model::GetPublicAccessBlockRequest& request) const; + template<typename GetPublicAccessBlockRequestT = Model::GetPublicAccessBlockRequest> + Model::GetPublicAccessBlockOutcomeCallable GetPublicAccessBlockCallable(const GetPublicAccessBlockRequestT& request) const + { + return SubmitCallable(&S3Client::GetPublicAccessBlock, request); + } /** - * <p>Retrieves the <code>PublicAccessBlock</code> configuration for an Amazon S3 - * bucket. To use this operation, you must have the - * <code>s3:GetBucketPublicAccessBlock</code> permission. For more information - * about Amazon S3 permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying - * Permissions in a Policy</a>.</p> <p>When Amazon S3 evaluates the - * <code>PublicAccessBlock</code> configuration for a bucket or an object, it - * checks the <code>PublicAccessBlock</code> configuration for both the bucket (or - * the bucket that contains the object) and the bucket owner's account. If the - * <code>PublicAccessBlock</code> settings are different between the bucket and the - * account, Amazon S3 uses the most restrictive combination of the bucket-level and - * account-level settings.</p> <p>For more information about when - * Amazon S3 considers a bucket or an object public, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status">The - * Meaning of "Public"</a>.</p> <p>The following operations are related to - * <code>GetPublicAccessBlock</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using - * Amazon S3 Block Public Access</a> </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html">PutPublicAccessBlock</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html">GetPublicAccessBlock</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html">DeletePublicAccessBlock</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetPublicAccessBlock">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for GetPublicAccessBlock that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void GetPublicAccessBlockAsync(const Model::GetPublicAccessBlockRequest& request, const GetPublicAccessBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename GetPublicAccessBlockRequestT = Model::GetPublicAccessBlockRequest> + void GetPublicAccessBlockAsync(const GetPublicAccessBlockRequestT& request, const GetPublicAccessBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::GetPublicAccessBlock, request, handler, context); + } /** * <p>This action is useful to determine if a bucket exists and you have permission @@ -5330,55 +2715,38 @@ namespace Aws * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions * Related to Bucket Subresource Operations</a> and <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p><p><h3>See Also:</h3> - * <a href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket">AWS - * API Reference</a></p> + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>To use this API + * against an access point, you must provide the alias of the access point in place + * of the bucket name or specify the access point ARN. When using the access point + * ARN, you must direct requests to the access point hostname. The access point + * hostname takes the form + * AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using the + * Amazon Web Services SDKs, you provide the ARN in place of the bucket name. For + * more information see, <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using + * access points</a>.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket">AWS API + * Reference</a></p> */ virtual Model::HeadBucketOutcome HeadBucket(const Model::HeadBucketRequest& request) const; /** - * <p>This action is useful to determine if a bucket exists and you have permission - * to access it. The action returns a <code>200 OK</code> if the bucket exists and - * you have permission to access it.</p> <p>If the bucket does not exist or you do - * not have permission to access it, the <code>HEAD</code> request returns a - * generic <code>404 Not Found</code> or <code>403 Forbidden</code> code. A message - * body is not included, so you cannot determine the exception beyond these error - * codes.</p> <p>To use this operation, you must have permissions to perform the - * <code>s3:ListBucket</code> action. The bucket owner has this permission by - * default and can grant this permission to others. For more information about - * permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p><p><h3>See Also:</h3> - * <a href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for HeadBucket that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::HeadBucketOutcomeCallable HeadBucketCallable(const Model::HeadBucketRequest& request) const; + template<typename HeadBucketRequestT = Model::HeadBucketRequest> + Model::HeadBucketOutcomeCallable HeadBucketCallable(const HeadBucketRequestT& request) const + { + return SubmitCallable(&S3Client::HeadBucket, request); + } /** - * <p>This action is useful to determine if a bucket exists and you have permission - * to access it. The action returns a <code>200 OK</code> if the bucket exists and - * you have permission to access it.</p> <p>If the bucket does not exist or you do - * not have permission to access it, the <code>HEAD</code> request returns a - * generic <code>404 Not Found</code> or <code>403 Forbidden</code> code. A message - * body is not included, so you cannot determine the exception beyond these error - * codes.</p> <p>To use this operation, you must have permissions to perform the - * <code>s3:ListBucket</code> action. The bucket owner has this permission by - * default and can grant this permission to others. For more information about - * permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p><p><h3>See Also:</h3> - * <a href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for HeadBucket that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void HeadBucketAsync(const Model::HeadBucketRequest& request, const HeadBucketResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename HeadBucketRequestT = Model::HeadBucketRequest> + void HeadBucketAsync(const HeadBucketRequestT& request, const HeadBucketResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::HeadBucket, request, handler, context); + } /** * <p>The HEAD action retrieves metadata from an object without returning the @@ -5401,12 +2769,11 @@ namespace Aws * Encryption (Using Customer-Provided Encryption Keys)</a>.</p> <ul> <li> * <p>Encryption request headers, like <code>x-amz-server-side-encryption</code>, * should not be sent for GET requests if your object uses server-side encryption - * with CMKs stored in AWS KMS (SSE-KMS) or server-side encryption with Amazon - * S3–managed encryption keys (SSE-S3). If your object does use these types of - * keys, you’ll get an HTTP 400 BadRequest error.</p> </li> <li> <p> The last - * modified property in this case is the creation date of the object.</p> </li> - * </ul> <p>Request headers are limited to 8 KB in size. For more - * information, see <a + * with KMS keys (SSE-KMS) or server-side encryption with Amazon S3–managed + * encryption keys (SSE-S3). If your object does use these types of keys, you’ll + * get an HTTP 400 BadRequest error.</p> </li> <li> <p> The last modified property + * in this case is the creation date of the object.</p> </li> </ul> + * <p>Request headers are limited to 8 KB in size. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html">Common * Request Headers</a>.</p> <p>Consider the following when using request * headers:</p> <ul> <li> <p> Consideration 1 – If both of the @@ -5423,8 +2790,8 @@ namespace Aws * </li> </ul> <p>Then Amazon S3 returns the <code>304 Not Modified</code> response * code.</p> </li> </ul> <p>For more information about conditional requests, see <a * href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>.</p> <p> - * <b>Permissions</b> </p> <p>You need the <code>s3:GetObject</code> permission for - * this operation. For more information, see <a + * <b>Permissions</b> </p> <p>You need the relevant read object (or version) + * permission for this operation. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying * Permissions in a Policy</a>. If the object you request does not exist, the error * Amazon S3 returns depends on whether you also have the s3:ListBucket @@ -5432,9 +2799,11 @@ namespace Aws * permission on the bucket, Amazon S3 returns an HTTP status code 404 ("no such * key") error.</p> </li> <li> <p>If you don’t have the <code>s3:ListBucket</code> * permission, Amazon S3 returns an HTTP status code 403 ("access denied") - * error.</p> </li> </ul> <p>The following action is related to + * error.</p> </li> </ul> <p>The following actions are related to * <code>HeadObject</code>:</p> <ul> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html">GetObjectAttributes</a> * </p> </li> </ul><p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject">AWS API * Reference</a></p> @@ -5442,130 +2811,22 @@ namespace Aws virtual Model::HeadObjectOutcome HeadObject(const Model::HeadObjectRequest& request) const; /** - * <p>The HEAD action retrieves metadata from an object without returning the - * object itself. This action is useful if you're only interested in an object's - * metadata. To use HEAD, you must have READ access to the object.</p> <p>A - * <code>HEAD</code> request has the same options as a <code>GET</code> action on - * an object. The response is identical to the <code>GET</code> response except - * that there is no response body. Because of this, if the <code>HEAD</code> - * request generates an error, it returns a generic <code>404 Not Found</code> or - * <code>403 Forbidden</code> code. It is not possible to retrieve the exact - * exception beyond these error codes.</p> <p>If you encrypt an object by using - * server-side encryption with customer-provided encryption keys (SSE-C) when you - * store the object in Amazon S3, then when you retrieve the metadata from the - * object, you must use the following headers:</p> <ul> <li> - * <p>x-amz-server-side-encryption-customer-algorithm</p> </li> <li> - * <p>x-amz-server-side-encryption-customer-key</p> </li> <li> - * <p>x-amz-server-side-encryption-customer-key-MD5</p> </li> </ul> <p>For more - * information about SSE-C, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys)</a>.</p> <ul> <li> - * <p>Encryption request headers, like <code>x-amz-server-side-encryption</code>, - * should not be sent for GET requests if your object uses server-side encryption - * with CMKs stored in AWS KMS (SSE-KMS) or server-side encryption with Amazon - * S3–managed encryption keys (SSE-S3). If your object does use these types of - * keys, you’ll get an HTTP 400 BadRequest error.</p> </li> <li> <p> The last - * modified property in this case is the creation date of the object.</p> </li> - * </ul> <p>Request headers are limited to 8 KB in size. For more - * information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html">Common - * Request Headers</a>.</p> <p>Consider the following when using request - * headers:</p> <ul> <li> <p> Consideration 1 – If both of the - * <code>If-Match</code> and <code>If-Unmodified-Since</code> headers are present - * in the request as follows:</p> <ul> <li> <p> <code>If-Match</code> condition - * evaluates to <code>true</code>, and;</p> </li> <li> <p> - * <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;</p> - * </li> </ul> <p>Then Amazon S3 returns <code>200 OK</code> and the data - * requested.</p> </li> <li> <p> Consideration 2 – If both of the - * <code>If-None-Match</code> and <code>If-Modified-Since</code> headers are - * present in the request as follows:</p> <ul> <li> <p> <code>If-None-Match</code> - * condition evaluates to <code>false</code>, and;</p> </li> <li> <p> - * <code>If-Modified-Since</code> condition evaluates to <code>true</code>;</p> - * </li> </ul> <p>Then Amazon S3 returns the <code>304 Not Modified</code> response - * code.</p> </li> </ul> <p>For more information about conditional requests, see <a - * href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>.</p> <p> - * <b>Permissions</b> </p> <p>You need the <code>s3:GetObject</code> permission for - * this operation. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying - * Permissions in a Policy</a>. If the object you request does not exist, the error - * Amazon S3 returns depends on whether you also have the s3:ListBucket - * permission.</p> <ul> <li> <p>If you have the <code>s3:ListBucket</code> - * permission on the bucket, Amazon S3 returns an HTTP status code 404 ("no such - * key") error.</p> </li> <li> <p>If you don’t have the <code>s3:ListBucket</code> - * permission, Amazon S3 returns an HTTP status code 403 ("access denied") - * error.</p> </li> </ul> <p>The following action is related to - * <code>HeadObject</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject">AWS API - * Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for HeadObject that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::HeadObjectOutcomeCallable HeadObjectCallable(const Model::HeadObjectRequest& request) const; + template<typename HeadObjectRequestT = Model::HeadObjectRequest> + Model::HeadObjectOutcomeCallable HeadObjectCallable(const HeadObjectRequestT& request) const + { + return SubmitCallable(&S3Client::HeadObject, request); + } /** - * <p>The HEAD action retrieves metadata from an object without returning the - * object itself. This action is useful if you're only interested in an object's - * metadata. To use HEAD, you must have READ access to the object.</p> <p>A - * <code>HEAD</code> request has the same options as a <code>GET</code> action on - * an object. The response is identical to the <code>GET</code> response except - * that there is no response body. Because of this, if the <code>HEAD</code> - * request generates an error, it returns a generic <code>404 Not Found</code> or - * <code>403 Forbidden</code> code. It is not possible to retrieve the exact - * exception beyond these error codes.</p> <p>If you encrypt an object by using - * server-side encryption with customer-provided encryption keys (SSE-C) when you - * store the object in Amazon S3, then when you retrieve the metadata from the - * object, you must use the following headers:</p> <ul> <li> - * <p>x-amz-server-side-encryption-customer-algorithm</p> </li> <li> - * <p>x-amz-server-side-encryption-customer-key</p> </li> <li> - * <p>x-amz-server-side-encryption-customer-key-MD5</p> </li> </ul> <p>For more - * information about SSE-C, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys)</a>.</p> <ul> <li> - * <p>Encryption request headers, like <code>x-amz-server-side-encryption</code>, - * should not be sent for GET requests if your object uses server-side encryption - * with CMKs stored in AWS KMS (SSE-KMS) or server-side encryption with Amazon - * S3–managed encryption keys (SSE-S3). If your object does use these types of - * keys, you’ll get an HTTP 400 BadRequest error.</p> </li> <li> <p> The last - * modified property in this case is the creation date of the object.</p> </li> - * </ul> <p>Request headers are limited to 8 KB in size. For more - * information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html">Common - * Request Headers</a>.</p> <p>Consider the following when using request - * headers:</p> <ul> <li> <p> Consideration 1 – If both of the - * <code>If-Match</code> and <code>If-Unmodified-Since</code> headers are present - * in the request as follows:</p> <ul> <li> <p> <code>If-Match</code> condition - * evaluates to <code>true</code>, and;</p> </li> <li> <p> - * <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;</p> - * </li> </ul> <p>Then Amazon S3 returns <code>200 OK</code> and the data - * requested.</p> </li> <li> <p> Consideration 2 – If both of the - * <code>If-None-Match</code> and <code>If-Modified-Since</code> headers are - * present in the request as follows:</p> <ul> <li> <p> <code>If-None-Match</code> - * condition evaluates to <code>false</code>, and;</p> </li> <li> <p> - * <code>If-Modified-Since</code> condition evaluates to <code>true</code>;</p> - * </li> </ul> <p>Then Amazon S3 returns the <code>304 Not Modified</code> response - * code.</p> </li> </ul> <p>For more information about conditional requests, see <a - * href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>.</p> <p> - * <b>Permissions</b> </p> <p>You need the <code>s3:GetObject</code> permission for - * this operation. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying - * Permissions in a Policy</a>. If the object you request does not exist, the error - * Amazon S3 returns depends on whether you also have the s3:ListBucket - * permission.</p> <ul> <li> <p>If you have the <code>s3:ListBucket</code> - * permission on the bucket, Amazon S3 returns an HTTP status code 404 ("no such - * key") error.</p> </li> <li> <p>If you don’t have the <code>s3:ListBucket</code> - * permission, Amazon S3 returns an HTTP status code 403 ("access denied") - * error.</p> </li> </ul> <p>The following action is related to - * <code>HeadObject</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject">AWS API - * Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for HeadObject that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void HeadObjectAsync(const Model::HeadObjectRequest& request, const HeadObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename HeadObjectRequestT = Model::HeadObjectRequest> + void HeadObjectAsync(const HeadObjectRequestT& request, const HeadObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::HeadObject, request, handler, context); + } /** * <p>Lists the analytics configurations for the bucket. You can have up to 1,000 @@ -5601,88 +2862,37 @@ namespace Aws virtual Model::ListBucketAnalyticsConfigurationsOutcome ListBucketAnalyticsConfigurations(const Model::ListBucketAnalyticsConfigurationsRequest& request) const; /** - * <p>Lists the analytics configurations for the bucket. You can have up to 1,000 - * analytics configurations per bucket.</p> <p>This action supports list pagination - * and does not return more than 100 configurations at a time. You should always - * check the <code>IsTruncated</code> element in the response. If there are no more - * configurations to list, <code>IsTruncated</code> is set to false. If there are - * more configurations to list, <code>IsTruncated</code> is set to true, and there - * will be a value in <code>NextContinuationToken</code>. You use the - * <code>NextContinuationToken</code> value to continue the pagination of the list - * by passing the value in continuation-token in the request to <code>GET</code> - * the next page.</p> <p>To use this operation, you must have permissions to - * perform the <code>s3:GetAnalyticsConfiguration</code> action. The bucket owner - * has this permission by default. The bucket owner can grant this permission to - * others. For more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about - * Amazon S3 analytics feature, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon - * S3 Analytics – Storage Class Analysis</a>. </p> <p>The following operations are - * related to <code>ListBucketAnalyticsConfigurations</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html">GetBucketAnalyticsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html">DeleteBucketAnalyticsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html">PutBucketAnalyticsConfiguration</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for ListBucketAnalyticsConfigurations that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::ListBucketAnalyticsConfigurationsOutcomeCallable ListBucketAnalyticsConfigurationsCallable(const Model::ListBucketAnalyticsConfigurationsRequest& request) const; + template<typename ListBucketAnalyticsConfigurationsRequestT = Model::ListBucketAnalyticsConfigurationsRequest> + Model::ListBucketAnalyticsConfigurationsOutcomeCallable ListBucketAnalyticsConfigurationsCallable(const ListBucketAnalyticsConfigurationsRequestT& request) const + { + return SubmitCallable(&S3Client::ListBucketAnalyticsConfigurations, request); + } /** - * <p>Lists the analytics configurations for the bucket. You can have up to 1,000 - * analytics configurations per bucket.</p> <p>This action supports list pagination - * and does not return more than 100 configurations at a time. You should always - * check the <code>IsTruncated</code> element in the response. If there are no more - * configurations to list, <code>IsTruncated</code> is set to false. If there are - * more configurations to list, <code>IsTruncated</code> is set to true, and there - * will be a value in <code>NextContinuationToken</code>. You use the - * <code>NextContinuationToken</code> value to continue the pagination of the list - * by passing the value in continuation-token in the request to <code>GET</code> - * the next page.</p> <p>To use this operation, you must have permissions to - * perform the <code>s3:GetAnalyticsConfiguration</code> action. The bucket owner - * has this permission by default. The bucket owner can grant this permission to - * others. For more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about - * Amazon S3 analytics feature, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon - * S3 Analytics – Storage Class Analysis</a>. </p> <p>The following operations are - * related to <code>ListBucketAnalyticsConfigurations</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html">GetBucketAnalyticsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html">DeleteBucketAnalyticsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html">PutBucketAnalyticsConfiguration</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for ListBucketAnalyticsConfigurations that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void ListBucketAnalyticsConfigurationsAsync(const Model::ListBucketAnalyticsConfigurationsRequest& request, const ListBucketAnalyticsConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename ListBucketAnalyticsConfigurationsRequestT = Model::ListBucketAnalyticsConfigurationsRequest> + void ListBucketAnalyticsConfigurationsAsync(const ListBucketAnalyticsConfigurationsRequestT& request, const ListBucketAnalyticsConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::ListBucketAnalyticsConfigurations, request, handler, context); + } /** * <p>Lists the S3 Intelligent-Tiering configuration from the specified bucket.</p> * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage * costs by automatically moving data to the most cost-effective storage access - * tier, without additional operational overhead. S3 Intelligent-Tiering delivers - * automatic cost savings by moving data between access tiers, when access patterns - * change.</p> <p>The S3 Intelligent-Tiering storage class is suitable for objects - * larger than 128 KB that you plan to store for at least 30 days. If the size of - * an object is less than 128 KB, it is not eligible for auto-tiering. Smaller - * objects can be stored, but they are always charged at the frequent access tier - * rates in the S3 Intelligent-Tiering storage class. </p> <p>If you delete an - * object before the end of the 30-day minimum storage duration period, you are - * charged for 30 days. For more information, see <a + * tier, without performance impact or operational overhead. S3 Intelligent-Tiering + * delivers automatic cost savings in three low latency and high throughput access + * tiers. To get the lowest storage cost on data that can be accessed in minutes to + * hours, you can choose to activate additional archiving capabilities.</p> <p>The + * S3 Intelligent-Tiering storage class is the ideal storage class for data with + * unknown, changing, or unpredictable access patterns, independent of object size + * or retention period. If the size of an object is less than 128 KB, it is not + * monitored and not eligible for auto-tiering. Smaller objects can be stored, but + * they are always charged at the Frequent Access tier rates in the S3 + * Intelligent-Tiering storage class.</p> <p>For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage * class for automatically optimizing frequently and infrequently accessed * objects</a>.</p> <p>Operations related to @@ -5700,66 +2910,22 @@ namespace Aws virtual Model::ListBucketIntelligentTieringConfigurationsOutcome ListBucketIntelligentTieringConfigurations(const Model::ListBucketIntelligentTieringConfigurationsRequest& request) const; /** - * <p>Lists the S3 Intelligent-Tiering configuration from the specified bucket.</p> - * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage - * costs by automatically moving data to the most cost-effective storage access - * tier, without additional operational overhead. S3 Intelligent-Tiering delivers - * automatic cost savings by moving data between access tiers, when access patterns - * change.</p> <p>The S3 Intelligent-Tiering storage class is suitable for objects - * larger than 128 KB that you plan to store for at least 30 days. If the size of - * an object is less than 128 KB, it is not eligible for auto-tiering. Smaller - * objects can be stored, but they are always charged at the frequent access tier - * rates in the S3 Intelligent-Tiering storage class. </p> <p>If you delete an - * object before the end of the 30-day minimum storage duration period, you are - * charged for 30 days. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage - * class for automatically optimizing frequently and infrequently accessed - * objects</a>.</p> <p>Operations related to - * <code>ListBucketIntelligentTieringConfigurations</code> include: </p> <ul> <li> - * <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html">DeleteBucketIntelligentTieringConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html">PutBucketIntelligentTieringConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html">GetBucketIntelligentTieringConfiguration</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketIntelligentTieringConfigurations">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for ListBucketIntelligentTieringConfigurations that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::ListBucketIntelligentTieringConfigurationsOutcomeCallable ListBucketIntelligentTieringConfigurationsCallable(const Model::ListBucketIntelligentTieringConfigurationsRequest& request) const; + template<typename ListBucketIntelligentTieringConfigurationsRequestT = Model::ListBucketIntelligentTieringConfigurationsRequest> + Model::ListBucketIntelligentTieringConfigurationsOutcomeCallable ListBucketIntelligentTieringConfigurationsCallable(const ListBucketIntelligentTieringConfigurationsRequestT& request) const + { + return SubmitCallable(&S3Client::ListBucketIntelligentTieringConfigurations, request); + } /** - * <p>Lists the S3 Intelligent-Tiering configuration from the specified bucket.</p> - * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage - * costs by automatically moving data to the most cost-effective storage access - * tier, without additional operational overhead. S3 Intelligent-Tiering delivers - * automatic cost savings by moving data between access tiers, when access patterns - * change.</p> <p>The S3 Intelligent-Tiering storage class is suitable for objects - * larger than 128 KB that you plan to store for at least 30 days. If the size of - * an object is less than 128 KB, it is not eligible for auto-tiering. Smaller - * objects can be stored, but they are always charged at the frequent access tier - * rates in the S3 Intelligent-Tiering storage class. </p> <p>If you delete an - * object before the end of the 30-day minimum storage duration period, you are - * charged for 30 days. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage - * class for automatically optimizing frequently and infrequently accessed - * objects</a>.</p> <p>Operations related to - * <code>ListBucketIntelligentTieringConfigurations</code> include: </p> <ul> <li> - * <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html">DeleteBucketIntelligentTieringConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html">PutBucketIntelligentTieringConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html">GetBucketIntelligentTieringConfiguration</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketIntelligentTieringConfigurations">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for ListBucketIntelligentTieringConfigurations that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void ListBucketIntelligentTieringConfigurationsAsync(const Model::ListBucketIntelligentTieringConfigurationsRequest& request, const ListBucketIntelligentTieringConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename ListBucketIntelligentTieringConfigurationsRequestT = Model::ListBucketIntelligentTieringConfigurationsRequest> + void ListBucketIntelligentTieringConfigurationsAsync(const ListBucketIntelligentTieringConfigurationsRequestT& request, const ListBucketIntelligentTieringConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::ListBucketIntelligentTieringConfigurations, request, handler, context); + } /** * <p>Returns a list of inventory configurations for the bucket. You can have up to @@ -5795,74 +2961,22 @@ namespace Aws virtual Model::ListBucketInventoryConfigurationsOutcome ListBucketInventoryConfigurations(const Model::ListBucketInventoryConfigurationsRequest& request) const; /** - * <p>Returns a list of inventory configurations for the bucket. You can have up to - * 1,000 analytics configurations per bucket.</p> <p>This action supports list - * pagination and does not return more than 100 configurations at a time. Always - * check the <code>IsTruncated</code> element in the response. If there are no more - * configurations to list, <code>IsTruncated</code> is set to false. If there are - * more configurations to list, <code>IsTruncated</code> is set to true, and there - * is a value in <code>NextContinuationToken</code>. You use the - * <code>NextContinuationToken</code> value to continue the pagination of the list - * by passing the value in continuation-token in the request to <code>GET</code> - * the next page.</p> <p> To use this operation, you must have permissions to - * perform the <code>s3:GetInventoryConfiguration</code> action. The bucket owner - * has this permission by default. The bucket owner can grant this permission to - * others. For more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about - * the Amazon S3 inventory feature, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon - * S3 Inventory</a> </p> <p>The following operations are related to - * <code>ListBucketInventoryConfigurations</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html">GetBucketInventoryConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html">DeleteBucketInventoryConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html">PutBucketInventoryConfiguration</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for ListBucketInventoryConfigurations that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::ListBucketInventoryConfigurationsOutcomeCallable ListBucketInventoryConfigurationsCallable(const Model::ListBucketInventoryConfigurationsRequest& request) const; + template<typename ListBucketInventoryConfigurationsRequestT = Model::ListBucketInventoryConfigurationsRequest> + Model::ListBucketInventoryConfigurationsOutcomeCallable ListBucketInventoryConfigurationsCallable(const ListBucketInventoryConfigurationsRequestT& request) const + { + return SubmitCallable(&S3Client::ListBucketInventoryConfigurations, request); + } /** - * <p>Returns a list of inventory configurations for the bucket. You can have up to - * 1,000 analytics configurations per bucket.</p> <p>This action supports list - * pagination and does not return more than 100 configurations at a time. Always - * check the <code>IsTruncated</code> element in the response. If there are no more - * configurations to list, <code>IsTruncated</code> is set to false. If there are - * more configurations to list, <code>IsTruncated</code> is set to true, and there - * is a value in <code>NextContinuationToken</code>. You use the - * <code>NextContinuationToken</code> value to continue the pagination of the list - * by passing the value in continuation-token in the request to <code>GET</code> - * the next page.</p> <p> To use this operation, you must have permissions to - * perform the <code>s3:GetInventoryConfiguration</code> action. The bucket owner - * has this permission by default. The bucket owner can grant this permission to - * others. For more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about - * the Amazon S3 inventory feature, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon - * S3 Inventory</a> </p> <p>The following operations are related to - * <code>ListBucketInventoryConfigurations</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html">GetBucketInventoryConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html">DeleteBucketInventoryConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html">PutBucketInventoryConfiguration</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for ListBucketInventoryConfigurations that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void ListBucketInventoryConfigurationsAsync(const Model::ListBucketInventoryConfigurationsRequest& request, const ListBucketInventoryConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename ListBucketInventoryConfigurationsRequestT = Model::ListBucketInventoryConfigurationsRequest> + void ListBucketInventoryConfigurationsAsync(const ListBucketInventoryConfigurationsRequestT& request, const ListBucketInventoryConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::ListBucketInventoryConfigurations, request, handler, context); + } /** * <p>Lists the metrics configurations for the bucket. The metrics configurations @@ -5900,106 +3014,49 @@ namespace Aws virtual Model::ListBucketMetricsConfigurationsOutcome ListBucketMetricsConfigurations(const Model::ListBucketMetricsConfigurationsRequest& request) const; /** - * <p>Lists the metrics configurations for the bucket. The metrics configurations - * are only for the request metrics of the bucket and do not provide information on - * daily storage metrics. You can have up to 1,000 configurations per bucket.</p> - * <p>This action supports list pagination and does not return more than 100 - * configurations at a time. Always check the <code>IsTruncated</code> element in - * the response. If there are no more configurations to list, - * <code>IsTruncated</code> is set to false. If there are more configurations to - * list, <code>IsTruncated</code> is set to true, and there is a value in - * <code>NextContinuationToken</code>. You use the - * <code>NextContinuationToken</code> value to continue the pagination of the list - * by passing the value in <code>continuation-token</code> in the request to - * <code>GET</code> the next page.</p> <p>To use this operation, you must have - * permissions to perform the <code>s3:GetMetricsConfiguration</code> action. The - * bucket owner has this permission by default. The bucket owner can grant this - * permission to others. For more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For more information - * about metrics configurations and CloudWatch request metrics, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring - * Metrics with Amazon CloudWatch</a>.</p> <p>The following operations are related - * to <code>ListBucketMetricsConfigurations</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html">PutBucketMetricsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html">GetBucketMetricsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html">DeleteBucketMetricsConfiguration</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for ListBucketMetricsConfigurations that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::ListBucketMetricsConfigurationsOutcomeCallable ListBucketMetricsConfigurationsCallable(const Model::ListBucketMetricsConfigurationsRequest& request) const; + template<typename ListBucketMetricsConfigurationsRequestT = Model::ListBucketMetricsConfigurationsRequest> + Model::ListBucketMetricsConfigurationsOutcomeCallable ListBucketMetricsConfigurationsCallable(const ListBucketMetricsConfigurationsRequestT& request) const + { + return SubmitCallable(&S3Client::ListBucketMetricsConfigurations, request); + } /** - * <p>Lists the metrics configurations for the bucket. The metrics configurations - * are only for the request metrics of the bucket and do not provide information on - * daily storage metrics. You can have up to 1,000 configurations per bucket.</p> - * <p>This action supports list pagination and does not return more than 100 - * configurations at a time. Always check the <code>IsTruncated</code> element in - * the response. If there are no more configurations to list, - * <code>IsTruncated</code> is set to false. If there are more configurations to - * list, <code>IsTruncated</code> is set to true, and there is a value in - * <code>NextContinuationToken</code>. You use the - * <code>NextContinuationToken</code> value to continue the pagination of the list - * by passing the value in <code>continuation-token</code> in the request to - * <code>GET</code> the next page.</p> <p>To use this operation, you must have - * permissions to perform the <code>s3:GetMetricsConfiguration</code> action. The - * bucket owner has this permission by default. The bucket owner can grant this - * permission to others. For more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For more information - * about metrics configurations and CloudWatch request metrics, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring - * Metrics with Amazon CloudWatch</a>.</p> <p>The following operations are related - * to <code>ListBucketMetricsConfigurations</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html">PutBucketMetricsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html">GetBucketMetricsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html">DeleteBucketMetricsConfiguration</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for ListBucketMetricsConfigurations that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void ListBucketMetricsConfigurationsAsync(const Model::ListBucketMetricsConfigurationsRequest& request, const ListBucketMetricsConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename ListBucketMetricsConfigurationsRequestT = Model::ListBucketMetricsConfigurationsRequest> + void ListBucketMetricsConfigurationsAsync(const ListBucketMetricsConfigurationsRequestT& request, const ListBucketMetricsConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::ListBucketMetricsConfigurations, request, handler, context); + } /** * <p>Returns a list of all buckets owned by the authenticated sender of the - * request.</p><p><h3>See Also:</h3> <a + * request. To use this operation, you must have the + * <code>s3:ListAllMyBuckets</code> permission.</p><p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets">AWS API * Reference</a></p> */ virtual Model::ListBucketsOutcome ListBuckets() const; /** - * <p>Returns a list of all buckets owned by the authenticated sender of the - * request.</p><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets">AWS API - * Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for ListBuckets that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::ListBucketsOutcomeCallable ListBucketsCallable() const; + template<typename = void> + Model::ListBucketsOutcomeCallable ListBucketsCallable() const + { + return SubmitCallable(&S3Client::ListBuckets); + } /** - * <p>Returns a list of all buckets owned by the authenticated sender of the - * request.</p><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets">AWS API - * Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for ListBuckets that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void ListBucketsAsync(const ListBucketsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename = void> + void ListBucketsAsync(const ListBucketsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::ListBuckets, handler, context); + } /** * <p>This action lists in-progress multipart uploads. An in-progress multipart * upload is a multipart upload that has been initiated using the Initiate @@ -6039,84 +3096,22 @@ namespace Aws virtual Model::ListMultipartUploadsOutcome ListMultipartUploads(const Model::ListMultipartUploadsRequest& request) const; /** - * <p>This action lists in-progress multipart uploads. An in-progress multipart - * upload is a multipart upload that has been initiated using the Initiate - * Multipart Upload request, but has not yet been completed or aborted.</p> <p>This - * action returns at most 1,000 multipart uploads in the response. 1,000 multipart - * uploads is the maximum number of uploads a response can include, which is also - * the default value. You can further limit the number of uploads in a response by - * specifying the <code>max-uploads</code> parameter in the response. If additional - * multipart uploads satisfy the list criteria, the response will contain an - * <code>IsTruncated</code> element with the value true. To list the additional - * multipart uploads, use the <code>key-marker</code> and - * <code>upload-id-marker</code> request parameters.</p> <p>In the response, the - * uploads are sorted by key. If your application has initiated more than one - * multipart upload using the same object key, then uploads in the response are - * first sorted by key. Additionally, uploads are sorted in ascending order within - * each key by the upload initiation time.</p> <p>For more information on multipart - * uploads, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading - * Objects Using Multipart Upload</a>.</p> <p>For information on permissions - * required to use the multipart upload API, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart - * Upload and Permissions</a>.</p> <p>The following operations are related to - * <code>ListMultipartUploads</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for ListMultipartUploads that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::ListMultipartUploadsOutcomeCallable ListMultipartUploadsCallable(const Model::ListMultipartUploadsRequest& request) const; + template<typename ListMultipartUploadsRequestT = Model::ListMultipartUploadsRequest> + Model::ListMultipartUploadsOutcomeCallable ListMultipartUploadsCallable(const ListMultipartUploadsRequestT& request) const + { + return SubmitCallable(&S3Client::ListMultipartUploads, request); + } /** - * <p>This action lists in-progress multipart uploads. An in-progress multipart - * upload is a multipart upload that has been initiated using the Initiate - * Multipart Upload request, but has not yet been completed or aborted.</p> <p>This - * action returns at most 1,000 multipart uploads in the response. 1,000 multipart - * uploads is the maximum number of uploads a response can include, which is also - * the default value. You can further limit the number of uploads in a response by - * specifying the <code>max-uploads</code> parameter in the response. If additional - * multipart uploads satisfy the list criteria, the response will contain an - * <code>IsTruncated</code> element with the value true. To list the additional - * multipart uploads, use the <code>key-marker</code> and - * <code>upload-id-marker</code> request parameters.</p> <p>In the response, the - * uploads are sorted by key. If your application has initiated more than one - * multipart upload using the same object key, then uploads in the response are - * first sorted by key. Additionally, uploads are sorted in ascending order within - * each key by the upload initiation time.</p> <p>For more information on multipart - * uploads, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading - * Objects Using Multipart Upload</a>.</p> <p>For information on permissions - * required to use the multipart upload API, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart - * Upload and Permissions</a>.</p> <p>The following operations are related to - * <code>ListMultipartUploads</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for ListMultipartUploads that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void ListMultipartUploadsAsync(const Model::ListMultipartUploadsRequest& request, const ListMultipartUploadsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename ListMultipartUploadsRequestT = Model::ListMultipartUploadsRequest> + void ListMultipartUploadsAsync(const ListMultipartUploadsRequestT& request, const ListMultipartUploadsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::ListMultipartUploads, request, handler, context); + } /** * <p>Returns metadata about all versions of the objects in a bucket. You can also @@ -6143,56 +3138,22 @@ namespace Aws virtual Model::ListObjectVersionsOutcome ListObjectVersions(const Model::ListObjectVersionsRequest& request) const; /** - * <p>Returns metadata about all versions of the objects in a bucket. You can also - * use request parameters as selection criteria to return metadata about a subset - * of all the object versions.</p> <p> To use this operation, you must - * have permissions to perform the <code>s3:ListBucketVersions</code> action. Be - * aware of the name difference. </p> <p> A 200 OK response can - * contain valid or invalid XML. Make sure to design your application to parse the - * contents of the response and handle it appropriately.</p> <p>To use this - * operation, you must have READ access to the bucket.</p> <p>This action is not - * supported by Amazon S3 on Outposts.</p> <p>The following operations are related - * to <code>ListObjectVersions</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html">ListObjectsV2</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for ListObjectVersions that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::ListObjectVersionsOutcomeCallable ListObjectVersionsCallable(const Model::ListObjectVersionsRequest& request) const; + template<typename ListObjectVersionsRequestT = Model::ListObjectVersionsRequest> + Model::ListObjectVersionsOutcomeCallable ListObjectVersionsCallable(const ListObjectVersionsRequestT& request) const + { + return SubmitCallable(&S3Client::ListObjectVersions, request); + } /** - * <p>Returns metadata about all versions of the objects in a bucket. You can also - * use request parameters as selection criteria to return metadata about a subset - * of all the object versions.</p> <p> To use this operation, you must - * have permissions to perform the <code>s3:ListBucketVersions</code> action. Be - * aware of the name difference. </p> <p> A 200 OK response can - * contain valid or invalid XML. Make sure to design your application to parse the - * contents of the response and handle it appropriately.</p> <p>To use this - * operation, you must have READ access to the bucket.</p> <p>This action is not - * supported by Amazon S3 on Outposts.</p> <p>The following operations are related - * to <code>ListObjectVersions</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html">ListObjectsV2</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for ListObjectVersions that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void ListObjectVersionsAsync(const Model::ListObjectVersionsRequest& request, const ListObjectVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename ListObjectVersionsRequestT = Model::ListObjectVersionsRequest> + void ListObjectVersionsAsync(const ListObjectVersionsRequestT& request, const ListObjectVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::ListObjectVersions, request, handler, context); + } /** * <p>Returns some or all (up to 1,000) of the objects in a bucket. You can use the @@ -6221,70 +3182,35 @@ namespace Aws virtual Model::ListObjectsOutcome ListObjects(const Model::ListObjectsRequest& request) const; /** - * <p>Returns some or all (up to 1,000) of the objects in a bucket. You can use the - * request parameters as selection criteria to return a subset of the objects in a - * bucket. A 200 OK response can contain valid or invalid XML. Be sure to design - * your application to parse the contents of the response and handle it - * appropriately.</p> <p>This action has been revised. We recommend - * that you use the newer version, <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html">ListObjectsV2</a>, - * when developing applications. For backward compatibility, Amazon S3 continues to - * support <code>ListObjects</code>.</p> <p>The following operations - * are related to <code>ListObjects</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html">ListObjectsV2</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html">ListBuckets</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects">AWS API - * Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for ListObjects that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::ListObjectsOutcomeCallable ListObjectsCallable(const Model::ListObjectsRequest& request) const; + template<typename ListObjectsRequestT = Model::ListObjectsRequest> + Model::ListObjectsOutcomeCallable ListObjectsCallable(const ListObjectsRequestT& request) const + { + return SubmitCallable(&S3Client::ListObjects, request); + } /** - * <p>Returns some or all (up to 1,000) of the objects in a bucket. You can use the - * request parameters as selection criteria to return a subset of the objects in a - * bucket. A 200 OK response can contain valid or invalid XML. Be sure to design - * your application to parse the contents of the response and handle it - * appropriately.</p> <p>This action has been revised. We recommend - * that you use the newer version, <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html">ListObjectsV2</a>, - * when developing applications. For backward compatibility, Amazon S3 continues to - * support <code>ListObjects</code>.</p> <p>The following operations - * are related to <code>ListObjects</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html">ListObjectsV2</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html">ListBuckets</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects">AWS API - * Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for ListObjects that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void ListObjectsAsync(const Model::ListObjectsRequest& request, const ListObjectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename ListObjectsRequestT = Model::ListObjectsRequest> + void ListObjectsAsync(const ListObjectsRequestT& request, const ListObjectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::ListObjects, request, handler, context); + } /** - * <p>Returns some or all (up to 1,000) of the objects in a bucket. You can use the - * request parameters as selection criteria to return a subset of the objects in a - * bucket. A <code>200 OK</code> response can contain valid or invalid XML. Make - * sure to design your application to parse the contents of the response and handle - * it appropriately. Objects are returned sorted in an ascending order of the - * respective key names in the list.</p> <p>To use this operation, you must have - * READ access to the bucket.</p> <p>To use this action in an AWS Identity and - * Access Management (IAM) policy, you must have permissions to perform the + * <p>Returns some or all (up to 1,000) of the objects in a bucket with each + * request. You can use the request parameters as selection criteria to return a + * subset of the objects in a bucket. A <code>200 OK</code> response can contain + * valid or invalid XML. Make sure to design your application to parse the contents + * of the response and handle it appropriately. Objects are returned sorted in an + * ascending order of the respective key names in the list. For more information + * about listing objects, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ListingKeysUsingAPIs.html">Listing + * object keys programmatically</a> </p> <p>To use this operation, you must have + * READ access to the bucket.</p> <p>To use this action in an Identity and Access + * Management (IAM) policy, you must have permissions to perform the * <code>s3:ListBucket</code> action. The bucket owner has this permission by * default and can grant this permission to others. For more information about * permissions, see <a @@ -6312,78 +3238,22 @@ namespace Aws virtual Model::ListObjectsV2Outcome ListObjectsV2(const Model::ListObjectsV2Request& request) const; /** - * <p>Returns some or all (up to 1,000) of the objects in a bucket. You can use the - * request parameters as selection criteria to return a subset of the objects in a - * bucket. A <code>200 OK</code> response can contain valid or invalid XML. Make - * sure to design your application to parse the contents of the response and handle - * it appropriately. Objects are returned sorted in an ascending order of the - * respective key names in the list.</p> <p>To use this operation, you must have - * READ access to the bucket.</p> <p>To use this action in an AWS Identity and - * Access Management (IAM) policy, you must have permissions to perform the - * <code>s3:ListBucket</code> action. The bucket owner has this permission by - * default and can grant this permission to others. For more information about - * permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>This - * section describes the latest revision of this action. We recommend that you use - * this revised API for application development. For backward compatibility, Amazon - * S3 continues to support the prior version of this API, <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html">ListObjects</a>.</p> - * <p>To get a list of your buckets, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html">ListBuckets</a>.</p> - * <p>The following operations are related to <code>ListObjectsV2</code>:</p> <ul> - * <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for ListObjectsV2 that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::ListObjectsV2OutcomeCallable ListObjectsV2Callable(const Model::ListObjectsV2Request& request) const; + template<typename ListObjectsV2RequestT = Model::ListObjectsV2Request> + Model::ListObjectsV2OutcomeCallable ListObjectsV2Callable(const ListObjectsV2RequestT& request) const + { + return SubmitCallable(&S3Client::ListObjectsV2, request); + } /** - * <p>Returns some or all (up to 1,000) of the objects in a bucket. You can use the - * request parameters as selection criteria to return a subset of the objects in a - * bucket. A <code>200 OK</code> response can contain valid or invalid XML. Make - * sure to design your application to parse the contents of the response and handle - * it appropriately. Objects are returned sorted in an ascending order of the - * respective key names in the list.</p> <p>To use this operation, you must have - * READ access to the bucket.</p> <p>To use this action in an AWS Identity and - * Access Management (IAM) policy, you must have permissions to perform the - * <code>s3:ListBucket</code> action. The bucket owner has this permission by - * default and can grant this permission to others. For more information about - * permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>This - * section describes the latest revision of this action. We recommend that you use - * this revised API for application development. For backward compatibility, Amazon - * S3 continues to support the prior version of this API, <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html">ListObjects</a>.</p> - * <p>To get a list of your buckets, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html">ListBuckets</a>.</p> - * <p>The following operations are related to <code>ListObjectsV2</code>:</p> <ul> - * <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for ListObjectsV2 that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void ListObjectsV2Async(const Model::ListObjectsV2Request& request, const ListObjectsV2ResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename ListObjectsV2RequestT = Model::ListObjectsV2Request> + void ListObjectsV2Async(const ListObjectsV2RequestT& request, const ListObjectsV2ResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::ListObjectsV2, request, handler, context); + } /** * <p>Lists the parts that have been uploaded for a specific multipart upload. This @@ -6398,7 +3268,9 @@ namespace Aws * <code>NextPartNumberMarker</code> element. In subsequent <code>ListParts</code> * requests you can include the part-number-marker query string parameter and set * its value to the <code>NextPartNumberMarker</code> field value from the previous - * response.</p> <p>For more information on multipart uploads, see <a + * response.</p> <p>If the upload was created using a checksum algorithm, you will + * need to have permission to the <code>kms:Decrypt</code> action for the request + * to succeed. </p> <p>For more information on multipart uploads, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading * Objects Using Multipart Upload</a>.</p> <p>For information on permissions * required to use the multipart upload API, see <a @@ -6413,6 +3285,8 @@ namespace Aws * </p> </li> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html">GetObjectAttributes</a> + * </p> </li> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> * </p> </li> </ul><p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts">AWS API @@ -6421,86 +3295,30 @@ namespace Aws virtual Model::ListPartsOutcome ListParts(const Model::ListPartsRequest& request) const; /** - * <p>Lists the parts that have been uploaded for a specific multipart upload. This - * operation must include the upload ID, which you obtain by sending the initiate - * multipart upload request (see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a>). - * This request returns a maximum of 1,000 uploaded parts. The default number of - * parts returned is 1,000 parts. You can restrict the number of parts returned by - * specifying the <code>max-parts</code> request parameter. If your multipart - * upload consists of more than 1,000 parts, the response returns an - * <code>IsTruncated</code> field with the value of true, and a - * <code>NextPartNumberMarker</code> element. In subsequent <code>ListParts</code> - * requests you can include the part-number-marker query string parameter and set - * its value to the <code>NextPartNumberMarker</code> field value from the previous - * response.</p> <p>For more information on multipart uploads, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading - * Objects Using Multipart Upload</a>.</p> <p>For information on permissions - * required to use the multipart upload API, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart - * Upload and Permissions</a>.</p> <p>The following operations are related to - * <code>ListParts</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts">AWS API - * Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for ListParts that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::ListPartsOutcomeCallable ListPartsCallable(const Model::ListPartsRequest& request) const; + template<typename ListPartsRequestT = Model::ListPartsRequest> + Model::ListPartsOutcomeCallable ListPartsCallable(const ListPartsRequestT& request) const + { + return SubmitCallable(&S3Client::ListParts, request); + } /** - * <p>Lists the parts that have been uploaded for a specific multipart upload. This - * operation must include the upload ID, which you obtain by sending the initiate - * multipart upload request (see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a>). - * This request returns a maximum of 1,000 uploaded parts. The default number of - * parts returned is 1,000 parts. You can restrict the number of parts returned by - * specifying the <code>max-parts</code> request parameter. If your multipart - * upload consists of more than 1,000 parts, the response returns an - * <code>IsTruncated</code> field with the value of true, and a - * <code>NextPartNumberMarker</code> element. In subsequent <code>ListParts</code> - * requests you can include the part-number-marker query string parameter and set - * its value to the <code>NextPartNumberMarker</code> field value from the previous - * response.</p> <p>For more information on multipart uploads, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading - * Objects Using Multipart Upload</a>.</p> <p>For information on permissions - * required to use the multipart upload API, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart - * Upload and Permissions</a>.</p> <p>The following operations are related to - * <code>ListParts</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts">AWS API - * Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for ListParts that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void ListPartsAsync(const Model::ListPartsRequest& request, const ListPartsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename ListPartsRequestT = Model::ListPartsRequest> + void ListPartsAsync(const ListPartsRequestT& request, const ListPartsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::ListParts, request, handler, context); + } /** * <p>Sets the accelerate configuration of an existing bucket. Amazon S3 Transfer * Acceleration is a bucket-level feature that enables you to perform faster data * transfers to Amazon S3.</p> <p> To use this operation, you must have permission - * to perform the s3:PutAccelerateConfiguration action. The bucket owner has this - * permission by default. The bucket owner can grant this permission to others. For - * more information about permissions, see <a + * to perform the <code>s3:PutAccelerateConfiguration</code> action. The bucket + * owner has this permission by default. The bucket owner can grant this permission + * to others. For more information about permissions, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions * Related to Bucket Subresource Operations</a> and <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing @@ -6529,76 +3347,22 @@ namespace Aws virtual Model::PutBucketAccelerateConfigurationOutcome PutBucketAccelerateConfiguration(const Model::PutBucketAccelerateConfigurationRequest& request) const; /** - * <p>Sets the accelerate configuration of an existing bucket. Amazon S3 Transfer - * Acceleration is a bucket-level feature that enables you to perform faster data - * transfers to Amazon S3.</p> <p> To use this operation, you must have permission - * to perform the s3:PutAccelerateConfiguration action. The bucket owner has this - * permission by default. The bucket owner can grant this permission to others. For - * more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> The Transfer - * Acceleration state of a bucket can be set to one of the following two - * values:</p> <ul> <li> <p> Enabled – Enables accelerated data transfers to the - * bucket.</p> </li> <li> <p> Suspended – Disables accelerated data transfers to - * the bucket.</p> </li> </ul> <p>The <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAccelerateConfiguration.html">GetBucketAccelerateConfiguration</a> - * action returns the transfer acceleration state of a bucket.</p> <p>After setting - * the Transfer Acceleration state of a bucket to Enabled, it might take up to - * thirty minutes before the data transfer rates to the bucket increase.</p> <p> - * The name of the bucket used for Transfer Acceleration must be DNS-compliant and - * must not contain periods (".").</p> <p> For more information about transfer - * acceleration, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer - * Acceleration</a>.</p> <p>The following operations are related to - * <code>PutBucketAccelerateConfiguration</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAccelerateConfiguration.html">GetBucketAccelerateConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for PutBucketAccelerateConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::PutBucketAccelerateConfigurationOutcomeCallable PutBucketAccelerateConfigurationCallable(const Model::PutBucketAccelerateConfigurationRequest& request) const; + template<typename PutBucketAccelerateConfigurationRequestT = Model::PutBucketAccelerateConfigurationRequest> + Model::PutBucketAccelerateConfigurationOutcomeCallable PutBucketAccelerateConfigurationCallable(const PutBucketAccelerateConfigurationRequestT& request) const + { + return SubmitCallable(&S3Client::PutBucketAccelerateConfiguration, request); + } /** - * <p>Sets the accelerate configuration of an existing bucket. Amazon S3 Transfer - * Acceleration is a bucket-level feature that enables you to perform faster data - * transfers to Amazon S3.</p> <p> To use this operation, you must have permission - * to perform the s3:PutAccelerateConfiguration action. The bucket owner has this - * permission by default. The bucket owner can grant this permission to others. For - * more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> The Transfer - * Acceleration state of a bucket can be set to one of the following two - * values:</p> <ul> <li> <p> Enabled – Enables accelerated data transfers to the - * bucket.</p> </li> <li> <p> Suspended – Disables accelerated data transfers to - * the bucket.</p> </li> </ul> <p>The <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAccelerateConfiguration.html">GetBucketAccelerateConfiguration</a> - * action returns the transfer acceleration state of a bucket.</p> <p>After setting - * the Transfer Acceleration state of a bucket to Enabled, it might take up to - * thirty minutes before the data transfer rates to the bucket increase.</p> <p> - * The name of the bucket used for Transfer Acceleration must be DNS-compliant and - * must not contain periods (".").</p> <p> For more information about transfer - * acceleration, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer - * Acceleration</a>.</p> <p>The following operations are related to - * <code>PutBucketAccelerateConfiguration</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAccelerateConfiguration.html">GetBucketAccelerateConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for PutBucketAccelerateConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void PutBucketAccelerateConfigurationAsync(const Model::PutBucketAccelerateConfigurationRequest& request, const PutBucketAccelerateConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename PutBucketAccelerateConfigurationRequestT = Model::PutBucketAccelerateConfigurationRequest> + void PutBucketAccelerateConfigurationAsync(const PutBucketAccelerateConfigurationRequestT& request, const PutBucketAccelerateConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::PutBucketAccelerateConfiguration, request, handler, context); + } /** * <p>Sets the permissions on an existing bucket using access control lists (ACL). @@ -6612,9 +3376,16 @@ namespace Aws * headers.</p> <p>Depending on your application needs, you may choose to * set the ACL on a bucket using either the request body or the headers. For * example, if you have an existing application that updates a bucket ACL using the - * request body, then you can continue to use that approach.</p> <p> <b>Access - * Permissions</b> </p> <p>You can set access permissions using one of the - * following methods:</p> <ul> <li> <p>Specify a canned ACL with the + * request body, then you can continue to use that approach.</p> <p>If + * your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs + * are disabled and no longer affect permissions. You must use policies to grant + * access to your bucket and the objects in it. Requests to set ACLs or update ACLs + * fail and return the <code>AccessControlListNotSupported</code> error code. + * Requests to read ACLs are still supported. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html">Controlling + * object ownership</a> in the <i>Amazon S3 User Guide</i>.</p> <p> + * <b>Access Permissions</b> </p> <p>You can set access permissions using one of + * the following methods:</p> <ul> <li> <p>Specify a canned ACL with the * <code>x-amz-acl</code> request header. Amazon S3 supports a set of predefined * ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of * grantees and permissions. Specify the canned ACL name as the value of @@ -6625,34 +3396,37 @@ namespace Aws * <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>, * <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> * headers. When using these headers, you specify explicit access permissions and - * grantees (AWS accounts or Amazon S3 groups) who will receive the permission. If - * you use these ACL-specific headers, you cannot use the <code>x-amz-acl</code> - * header to set a canned ACL. These parameters map to the set of permissions that - * Amazon S3 supports in an ACL. For more information, see <a + * grantees (Amazon Web Services accounts or Amazon S3 groups) who will receive the + * permission. If you use these ACL-specific headers, you cannot use the + * <code>x-amz-acl</code> header to set a canned ACL. These parameters map to the + * set of permissions that Amazon S3 supports in an ACL. For more information, see + * <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access * Control List (ACL) Overview</a>.</p> <p>You specify each grantee as a type=value * pair, where the type is one of the following:</p> <ul> <li> <p> <code>id</code> - * – if the value specified is the canonical user ID of an AWS account</p> </li> - * <li> <p> <code>uri</code> – if you are granting permissions to a predefined - * group</p> </li> <li> <p> <code>emailAddress</code> – if the value specified is - * the email address of an AWS account</p> <p>Using email addresses to - * specify a grantee is only supported in the following AWS Regions: </p> <ul> <li> - * <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> - * <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> - * <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> - * <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> - * </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * – if the value specified is the canonical user ID of an Amazon Web Services + * account</p> </li> <li> <p> <code>uri</code> – if you are granting permissions to + * a predefined group</p> </li> <li> <p> <code>emailAddress</code> – if the value + * specified is the email address of an Amazon Web Services account</p> + * <p>Using email addresses to specify a grantee is only supported in the following + * Amazon Web Services Regions: </p> <ul> <li> <p>US East (N. Virginia)</p> </li> + * <li> <p>US West (N. California)</p> </li> <li> <p> US West (Oregon)</p> </li> + * <li> <p> Asia Pacific (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> + * </li> <li> <p>Asia Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> + * <li> <p>South America (São Paulo)</p> </li> </ul> <p>For a list of all the + * Amazon S3 supported Regions and endpoints, see <a * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p>For - * example, the following <code>x-amz-grant-write</code> header grants create, - * overwrite, and delete objects permission to LogDelivery group predefined by - * Amazon S3 and two AWS accounts identified by their email addresses.</p> <p> - * <code>x-amz-grant-write: uri="http://acs.amazonaws.com/groups/s3/LogDelivery", - * id="111122223333", id="555566667777" </code> </p> </li> </ul> <p>You can use - * either a canned ACL or specify access permissions explicitly. You cannot do - * both.</p> <p> <b>Grantee Values</b> </p> <p>You can specify the person (grantee) - * to whom you're assigning access rights (using request elements) in the following - * ways:</p> <ul> <li> <p>By the person's ID:</p> <p> <code><Grantee + * and Endpoints</a> in the Amazon Web Services General Reference.</p> + * </li> </ul> <p>For example, the following <code>x-amz-grant-write</code> header + * grants create, overwrite, and delete objects permission to LogDelivery group + * predefined by Amazon S3 and two Amazon Web Services accounts identified by their + * email addresses.</p> <p> <code>x-amz-grant-write: + * uri="http://acs.amazonaws.com/groups/s3/LogDelivery", id="111122223333", + * id="555566667777" </code> </p> </li> </ul> <p>You can use either a canned ACL or + * specify access permissions explicitly. You cannot do both.</p> <p> <b>Grantee + * Values</b> </p> <p>You can specify the person (grantee) to whom you're assigning + * access rights (using request elements) in the following ways:</p> <ul> <li> + * <p>By the person's ID:</p> <p> <code><Grantee * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> * </Grantee></code> </p> <p>DisplayName is optional and ignored in the @@ -6664,16 +3438,16 @@ namespace Aws * xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee></code> * </p> <p>The grantee is resolved to the CanonicalUser and, in a response to a GET * Object acl request, appears as the CanonicalUser. </p> <p>Using email - * addresses to specify a grantee is only supported in the following AWS Regions: - * </p> <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. - * California)</p> </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific - * (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia - * Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South - * America (São Paulo)</p> </li> </ul> <p>For a list of all the Amazon S3 supported - * Regions and endpoints, see <a + * addresses to specify a grantee is only supported in the following Amazon Web + * Services Regions: </p> <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US + * West (N. California)</p> </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia + * Pacific (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> + * <p>Asia Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> <li> + * <p>South America (São Paulo)</p> </li> </ul> <p>For a list of all the Amazon S3 + * supported Regions and endpoints, see <a * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p - * class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a + * and Endpoints</a> in the Amazon Web Services General Reference.</p> + * </li> </ul> <p class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> * </p> </li> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> @@ -6686,178 +3460,22 @@ namespace Aws virtual Model::PutBucketAclOutcome PutBucketAcl(const Model::PutBucketAclRequest& request) const; /** - * <p>Sets the permissions on an existing bucket using access control lists (ACL). - * For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using - * ACLs</a>. To set the ACL of a bucket, you must have <code>WRITE_ACP</code> - * permission.</p> <p>You can use one of the following two ways to set a bucket's - * permissions:</p> <ul> <li> <p>Specify the ACL in the request body</p> </li> <li> - * <p>Specify permissions using request headers</p> </li> </ul> <p>You - * cannot specify access permission using both the body and the request - * headers.</p> <p>Depending on your application needs, you may choose to - * set the ACL on a bucket using either the request body or the headers. For - * example, if you have an existing application that updates a bucket ACL using the - * request body, then you can continue to use that approach.</p> <p> <b>Access - * Permissions</b> </p> <p>You can set access permissions using one of the - * following methods:</p> <ul> <li> <p>Specify a canned ACL with the - * <code>x-amz-acl</code> request header. Amazon S3 supports a set of predefined - * ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of - * grantees and permissions. Specify the canned ACL name as the value of - * <code>x-amz-acl</code>. If you use this header, you cannot use other access - * control-specific headers in your request. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned - * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly with the - * <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>, - * <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> - * headers. When using these headers, you specify explicit access permissions and - * grantees (AWS accounts or Amazon S3 groups) who will receive the permission. If - * you use these ACL-specific headers, you cannot use the <code>x-amz-acl</code> - * header to set a canned ACL. These parameters map to the set of permissions that - * Amazon S3 supports in an ACL. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access - * Control List (ACL) Overview</a>.</p> <p>You specify each grantee as a type=value - * pair, where the type is one of the following:</p> <ul> <li> <p> <code>id</code> - * – if the value specified is the canonical user ID of an AWS account</p> </li> - * <li> <p> <code>uri</code> – if you are granting permissions to a predefined - * group</p> </li> <li> <p> <code>emailAddress</code> – if the value specified is - * the email address of an AWS account</p> <p>Using email addresses to - * specify a grantee is only supported in the following AWS Regions: </p> <ul> <li> - * <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> - * <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> - * <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> - * <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> - * </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a - * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p>For - * example, the following <code>x-amz-grant-write</code> header grants create, - * overwrite, and delete objects permission to LogDelivery group predefined by - * Amazon S3 and two AWS accounts identified by their email addresses.</p> <p> - * <code>x-amz-grant-write: uri="http://acs.amazonaws.com/groups/s3/LogDelivery", - * id="111122223333", id="555566667777" </code> </p> </li> </ul> <p>You can use - * either a canned ACL or specify access permissions explicitly. You cannot do - * both.</p> <p> <b>Grantee Values</b> </p> <p>You can specify the person (grantee) - * to whom you're assigning access rights (using request elements) in the following - * ways:</p> <ul> <li> <p>By the person's ID:</p> <p> <code><Grantee - * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> - * </Grantee></code> </p> <p>DisplayName is optional and ignored in the - * request</p> </li> <li> <p>By URI:</p> <p> <code><Grantee - * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - * xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee></code> - * </p> </li> <li> <p>By Email address:</p> <p> <code><Grantee - * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - * xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee></code> - * </p> <p>The grantee is resolved to the CanonicalUser and, in a response to a GET - * Object acl request, appears as the CanonicalUser. </p> <p>Using email - * addresses to specify a grantee is only supported in the following AWS Regions: - * </p> <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. - * California)</p> </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific - * (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia - * Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South - * America (São Paulo)</p> </li> </ul> <p>For a list of all the Amazon S3 supported - * Regions and endpoints, see <a - * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p - * class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html">GetObjectAcl</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl">AWS API - * Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for PutBucketAcl that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::PutBucketAclOutcomeCallable PutBucketAclCallable(const Model::PutBucketAclRequest& request) const; + template<typename PutBucketAclRequestT = Model::PutBucketAclRequest> + Model::PutBucketAclOutcomeCallable PutBucketAclCallable(const PutBucketAclRequestT& request) const + { + return SubmitCallable(&S3Client::PutBucketAcl, request); + } /** - * <p>Sets the permissions on an existing bucket using access control lists (ACL). - * For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using - * ACLs</a>. To set the ACL of a bucket, you must have <code>WRITE_ACP</code> - * permission.</p> <p>You can use one of the following two ways to set a bucket's - * permissions:</p> <ul> <li> <p>Specify the ACL in the request body</p> </li> <li> - * <p>Specify permissions using request headers</p> </li> </ul> <p>You - * cannot specify access permission using both the body and the request - * headers.</p> <p>Depending on your application needs, you may choose to - * set the ACL on a bucket using either the request body or the headers. For - * example, if you have an existing application that updates a bucket ACL using the - * request body, then you can continue to use that approach.</p> <p> <b>Access - * Permissions</b> </p> <p>You can set access permissions using one of the - * following methods:</p> <ul> <li> <p>Specify a canned ACL with the - * <code>x-amz-acl</code> request header. Amazon S3 supports a set of predefined - * ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of - * grantees and permissions. Specify the canned ACL name as the value of - * <code>x-amz-acl</code>. If you use this header, you cannot use other access - * control-specific headers in your request. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned - * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly with the - * <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>, - * <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> - * headers. When using these headers, you specify explicit access permissions and - * grantees (AWS accounts or Amazon S3 groups) who will receive the permission. If - * you use these ACL-specific headers, you cannot use the <code>x-amz-acl</code> - * header to set a canned ACL. These parameters map to the set of permissions that - * Amazon S3 supports in an ACL. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access - * Control List (ACL) Overview</a>.</p> <p>You specify each grantee as a type=value - * pair, where the type is one of the following:</p> <ul> <li> <p> <code>id</code> - * – if the value specified is the canonical user ID of an AWS account</p> </li> - * <li> <p> <code>uri</code> – if you are granting permissions to a predefined - * group</p> </li> <li> <p> <code>emailAddress</code> – if the value specified is - * the email address of an AWS account</p> <p>Using email addresses to - * specify a grantee is only supported in the following AWS Regions: </p> <ul> <li> - * <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> - * <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> - * <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> - * <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> - * </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a - * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p>For - * example, the following <code>x-amz-grant-write</code> header grants create, - * overwrite, and delete objects permission to LogDelivery group predefined by - * Amazon S3 and two AWS accounts identified by their email addresses.</p> <p> - * <code>x-amz-grant-write: uri="http://acs.amazonaws.com/groups/s3/LogDelivery", - * id="111122223333", id="555566667777" </code> </p> </li> </ul> <p>You can use - * either a canned ACL or specify access permissions explicitly. You cannot do - * both.</p> <p> <b>Grantee Values</b> </p> <p>You can specify the person (grantee) - * to whom you're assigning access rights (using request elements) in the following - * ways:</p> <ul> <li> <p>By the person's ID:</p> <p> <code><Grantee - * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> - * </Grantee></code> </p> <p>DisplayName is optional and ignored in the - * request</p> </li> <li> <p>By URI:</p> <p> <code><Grantee - * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - * xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee></code> - * </p> </li> <li> <p>By Email address:</p> <p> <code><Grantee - * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - * xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee></code> - * </p> <p>The grantee is resolved to the CanonicalUser and, in a response to a GET - * Object acl request, appears as the CanonicalUser. </p> <p>Using email - * addresses to specify a grantee is only supported in the following AWS Regions: - * </p> <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. - * California)</p> </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific - * (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia - * Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South - * America (São Paulo)</p> </li> </ul> <p>For a list of all the Amazon S3 supported - * Regions and endpoints, see <a - * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p - * class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html">GetObjectAcl</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl">AWS API - * Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for PutBucketAcl that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void PutBucketAclAsync(const Model::PutBucketAclRequest& request, const PutBucketAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename PutBucketAclRequestT = Model::PutBucketAclRequest> + void PutBucketAclAsync(const PutBucketAclRequestT& request, const PutBucketAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::PutBucketAcl, request, handler, context); + } /** * <p>Sets an analytics configuration for the bucket (specified by the analytics @@ -6910,108 +3528,22 @@ namespace Aws virtual Model::PutBucketAnalyticsConfigurationOutcome PutBucketAnalyticsConfiguration(const Model::PutBucketAnalyticsConfigurationRequest& request) const; /** - * <p>Sets an analytics configuration for the bucket (specified by the analytics - * configuration ID). You can have up to 1,000 analytics configurations per - * bucket.</p> <p>You can choose to have storage class analysis export analysis - * reports sent to a comma-separated values (CSV) flat file. See the - * <code>DataExport</code> request element. Reports are updated daily and are based - * on the object filters that you configure. When selecting data export, you - * specify a destination bucket and an optional destination prefix where the file - * is written. You can export the data to a destination bucket in a different - * account. However, the destination bucket must be in the same Region as the - * bucket that you are making the PUT analytics configuration to. For more - * information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon - * S3 Analytics – Storage Class Analysis</a>. </p> <p>You must create a - * bucket policy on the destination bucket where the exported file is written to - * grant permissions to Amazon S3 to write objects to the bucket. For an example - * policy, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9">Granting - * Permissions for Amazon S3 Inventory and Storage Class Analysis</a>.</p> - * <p>To use this operation, you must have permissions to perform the - * <code>s3:PutAnalyticsConfiguration</code> action. The bucket owner has this - * permission by default. The bucket owner can grant this permission to others. For - * more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p class="title"> - * <b>Special Errors</b> </p> <ul> <li> <ul> <li> <p> <i>HTTP Error: HTTP 400 Bad - * Request</i> </p> </li> <li> <p> <i>Code: InvalidArgument</i> </p> </li> <li> <p> - * <i>Cause: Invalid argument.</i> </p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>HTTP Error: HTTP 400 Bad Request</i> </p> </li> <li> <p> <i>Code: - * TooManyConfigurations</i> </p> </li> <li> <p> <i>Cause: You are attempting to - * create a new configuration but have already reached the 1,000-configuration - * limit.</i> </p> </li> </ul> </li> <li> <ul> <li> <p> <i>HTTP Error: HTTP 403 - * Forbidden</i> </p> </li> <li> <p> <i>Code: AccessDenied</i> </p> </li> <li> <p> - * <i>Cause: You are not the owner of the specified bucket, or you do not have the - * s3:PutAnalyticsConfiguration bucket permission to set the configuration on the - * bucket.</i> </p> </li> </ul> </li> </ul> <p class="title"> <b>Related - * Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html">GetBucketAnalyticsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html">DeleteBucketAnalyticsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html">ListBucketAnalyticsConfigurations</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for PutBucketAnalyticsConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::PutBucketAnalyticsConfigurationOutcomeCallable PutBucketAnalyticsConfigurationCallable(const Model::PutBucketAnalyticsConfigurationRequest& request) const; + template<typename PutBucketAnalyticsConfigurationRequestT = Model::PutBucketAnalyticsConfigurationRequest> + Model::PutBucketAnalyticsConfigurationOutcomeCallable PutBucketAnalyticsConfigurationCallable(const PutBucketAnalyticsConfigurationRequestT& request) const + { + return SubmitCallable(&S3Client::PutBucketAnalyticsConfiguration, request); + } /** - * <p>Sets an analytics configuration for the bucket (specified by the analytics - * configuration ID). You can have up to 1,000 analytics configurations per - * bucket.</p> <p>You can choose to have storage class analysis export analysis - * reports sent to a comma-separated values (CSV) flat file. See the - * <code>DataExport</code> request element. Reports are updated daily and are based - * on the object filters that you configure. When selecting data export, you - * specify a destination bucket and an optional destination prefix where the file - * is written. You can export the data to a destination bucket in a different - * account. However, the destination bucket must be in the same Region as the - * bucket that you are making the PUT analytics configuration to. For more - * information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon - * S3 Analytics – Storage Class Analysis</a>. </p> <p>You must create a - * bucket policy on the destination bucket where the exported file is written to - * grant permissions to Amazon S3 to write objects to the bucket. For an example - * policy, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9">Granting - * Permissions for Amazon S3 Inventory and Storage Class Analysis</a>.</p> - * <p>To use this operation, you must have permissions to perform the - * <code>s3:PutAnalyticsConfiguration</code> action. The bucket owner has this - * permission by default. The bucket owner can grant this permission to others. For - * more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p class="title"> - * <b>Special Errors</b> </p> <ul> <li> <ul> <li> <p> <i>HTTP Error: HTTP 400 Bad - * Request</i> </p> </li> <li> <p> <i>Code: InvalidArgument</i> </p> </li> <li> <p> - * <i>Cause: Invalid argument.</i> </p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>HTTP Error: HTTP 400 Bad Request</i> </p> </li> <li> <p> <i>Code: - * TooManyConfigurations</i> </p> </li> <li> <p> <i>Cause: You are attempting to - * create a new configuration but have already reached the 1,000-configuration - * limit.</i> </p> </li> </ul> </li> <li> <ul> <li> <p> <i>HTTP Error: HTTP 403 - * Forbidden</i> </p> </li> <li> <p> <i>Code: AccessDenied</i> </p> </li> <li> <p> - * <i>Cause: You are not the owner of the specified bucket, or you do not have the - * s3:PutAnalyticsConfiguration bucket permission to set the configuration on the - * bucket.</i> </p> </li> </ul> </li> </ul> <p class="title"> <b>Related - * Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html">GetBucketAnalyticsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html">DeleteBucketAnalyticsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html">ListBucketAnalyticsConfigurations</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for PutBucketAnalyticsConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void PutBucketAnalyticsConfigurationAsync(const Model::PutBucketAnalyticsConfigurationRequest& request, const PutBucketAnalyticsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename PutBucketAnalyticsConfigurationRequestT = Model::PutBucketAnalyticsConfigurationRequest> + void PutBucketAnalyticsConfigurationAsync(const PutBucketAnalyticsConfigurationRequestT& request, const PutBucketAnalyticsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::PutBucketAnalyticsConfiguration, request, handler, context); + } /** * <p>Sets the <code>cors</code> configuration for your bucket. If the @@ -7055,107 +3587,43 @@ namespace Aws virtual Model::PutBucketCorsOutcome PutBucketCors(const Model::PutBucketCorsRequest& request) const; /** - * <p>Sets the <code>cors</code> configuration for your bucket. If the - * configuration exists, Amazon S3 replaces it.</p> <p>To use this operation, you - * must be allowed to perform the <code>s3:PutBucketCORS</code> action. By default, - * the bucket owner has this permission and can grant it to others.</p> <p>You set - * this configuration on a bucket so that the bucket can service cross-origin - * requests. For example, you might want to enable a request whose origin is - * <code>http://www.example.com</code> to access your Amazon S3 bucket at - * <code>my.example.bucket.com</code> by using the browser's - * <code>XMLHttpRequest</code> capability.</p> <p>To enable cross-origin resource - * sharing (CORS) on a bucket, you add the <code>cors</code> subresource to the - * bucket. The <code>cors</code> subresource is an XML document in which you - * configure rules that identify origins and the HTTP methods that can be executed - * on your bucket. The document is limited to 64 KB in size. </p> <p>When Amazon S3 - * receives a cross-origin request (or a pre-flight OPTIONS request) against a - * bucket, it evaluates the <code>cors</code> configuration on the bucket and uses - * the first <code>CORSRule</code> rule that matches the incoming browser request - * to enable a cross-origin request. For a rule to match, the following conditions - * must be met:</p> <ul> <li> <p>The request's <code>Origin</code> header must - * match <code>AllowedOrigin</code> elements.</p> </li> <li> <p>The request method - * (for example, GET, PUT, HEAD, and so on) or the - * <code>Access-Control-Request-Method</code> header in case of a pre-flight - * <code>OPTIONS</code> request must be one of the <code>AllowedMethod</code> - * elements. </p> </li> <li> <p>Every header specified in the - * <code>Access-Control-Request-Headers</code> request header of a pre-flight - * request must match an <code>AllowedHeader</code> element. </p> </li> </ul> <p> - * For more information about CORS, go to <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">Enabling - * Cross-Origin Resource Sharing</a> in the <i>Amazon S3 User Guide</i>.</p> <p - * class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketCors.html">GetBucketCors</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html">DeleteBucketCors</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTOPTIONSobject.html">RESTOPTIONSobject</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for PutBucketCors that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::PutBucketCorsOutcomeCallable PutBucketCorsCallable(const Model::PutBucketCorsRequest& request) const; + template<typename PutBucketCorsRequestT = Model::PutBucketCorsRequest> + Model::PutBucketCorsOutcomeCallable PutBucketCorsCallable(const PutBucketCorsRequestT& request) const + { + return SubmitCallable(&S3Client::PutBucketCors, request); + } /** - * <p>Sets the <code>cors</code> configuration for your bucket. If the - * configuration exists, Amazon S3 replaces it.</p> <p>To use this operation, you - * must be allowed to perform the <code>s3:PutBucketCORS</code> action. By default, - * the bucket owner has this permission and can grant it to others.</p> <p>You set - * this configuration on a bucket so that the bucket can service cross-origin - * requests. For example, you might want to enable a request whose origin is - * <code>http://www.example.com</code> to access your Amazon S3 bucket at - * <code>my.example.bucket.com</code> by using the browser's - * <code>XMLHttpRequest</code> capability.</p> <p>To enable cross-origin resource - * sharing (CORS) on a bucket, you add the <code>cors</code> subresource to the - * bucket. The <code>cors</code> subresource is an XML document in which you - * configure rules that identify origins and the HTTP methods that can be executed - * on your bucket. The document is limited to 64 KB in size. </p> <p>When Amazon S3 - * receives a cross-origin request (or a pre-flight OPTIONS request) against a - * bucket, it evaluates the <code>cors</code> configuration on the bucket and uses - * the first <code>CORSRule</code> rule that matches the incoming browser request - * to enable a cross-origin request. For a rule to match, the following conditions - * must be met:</p> <ul> <li> <p>The request's <code>Origin</code> header must - * match <code>AllowedOrigin</code> elements.</p> </li> <li> <p>The request method - * (for example, GET, PUT, HEAD, and so on) or the - * <code>Access-Control-Request-Method</code> header in case of a pre-flight - * <code>OPTIONS</code> request must be one of the <code>AllowedMethod</code> - * elements. </p> </li> <li> <p>Every header specified in the - * <code>Access-Control-Request-Headers</code> request header of a pre-flight - * request must match an <code>AllowedHeader</code> element. </p> </li> </ul> <p> - * For more information about CORS, go to <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">Enabling - * Cross-Origin Resource Sharing</a> in the <i>Amazon S3 User Guide</i>.</p> <p - * class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketCors.html">GetBucketCors</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html">DeleteBucketCors</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTOPTIONSobject.html">RESTOPTIONSobject</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for PutBucketCors that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void PutBucketCorsAsync(const Model::PutBucketCorsRequest& request, const PutBucketCorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename PutBucketCorsRequestT = Model::PutBucketCorsRequest> + void PutBucketCorsAsync(const PutBucketCorsRequestT& request, const PutBucketCorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::PutBucketCors, request, handler, context); + } /** * <p>This action uses the <code>encryption</code> subresource to configure default * encryption and Amazon S3 Bucket Key for an existing bucket.</p> <p>Default * encryption for a bucket can use server-side encryption with Amazon S3-managed - * keys (SSE-S3) or AWS KMS customer master keys (SSE-KMS). If you specify default - * encryption using SSE-KMS, you can also configure Amazon S3 Bucket Key. For - * information about default encryption, see <a + * keys (SSE-S3) or customer managed keys (SSE-KMS). If you specify default + * encryption using SSE-KMS, you can also configure Amazon S3 Bucket Key. When the + * default encryption is SSE-KMS, if you upload an object to the bucket and do not + * specify the KMS key to use for encryption, Amazon S3 uses the default Amazon Web + * Services managed KMS key for your account. For information about default + * encryption, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon * S3 default bucket encryption</a> in the <i>Amazon S3 User Guide</i>. For more * information about S3 Bucket Keys, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 * Bucket Keys</a> in the <i>Amazon S3 User Guide</i>.</p> <p>This - * action requires AWS Signature Version 4. For more information, see <a + * action requires Amazon Web Services Signature Version 4. For more information, + * see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html"> - * Authenticating Requests (AWS Signature Version 4)</a>. </p> <p>To - * use this operation, you must have permissions to perform the + * Authenticating Requests (Amazon Web Services Signature Version 4)</a>. </p> + * <p>To use this operation, you must have permissions to perform the * <code>s3:PutEncryptionConfiguration</code> action. The bucket owner has this * permission by default. The bucket owner can grant this permission to others. For * more information about permissions, see <a @@ -7174,89 +3642,38 @@ namespace Aws virtual Model::PutBucketEncryptionOutcome PutBucketEncryption(const Model::PutBucketEncryptionRequest& request) const; /** - * <p>This action uses the <code>encryption</code> subresource to configure default - * encryption and Amazon S3 Bucket Key for an existing bucket.</p> <p>Default - * encryption for a bucket can use server-side encryption with Amazon S3-managed - * keys (SSE-S3) or AWS KMS customer master keys (SSE-KMS). If you specify default - * encryption using SSE-KMS, you can also configure Amazon S3 Bucket Key. For - * information about default encryption, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon - * S3 default bucket encryption</a> in the <i>Amazon S3 User Guide</i>. For more - * information about S3 Bucket Keys, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 - * Bucket Keys</a> in the <i>Amazon S3 User Guide</i>.</p> <p>This - * action requires AWS Signature Version 4. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html"> - * Authenticating Requests (AWS Signature Version 4)</a>. </p> <p>To - * use this operation, you must have permissions to perform the - * <code>s3:PutEncryptionConfiguration</code> action. The bucket owner has this - * permission by default. The bucket owner can grant this permission to others. For - * more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a> in the Amazon S3 User Guide. - * </p> <p class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html">GetBucketEncryption</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html">DeleteBucketEncryption</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryption">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for PutBucketEncryption that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::PutBucketEncryptionOutcomeCallable PutBucketEncryptionCallable(const Model::PutBucketEncryptionRequest& request) const; + template<typename PutBucketEncryptionRequestT = Model::PutBucketEncryptionRequest> + Model::PutBucketEncryptionOutcomeCallable PutBucketEncryptionCallable(const PutBucketEncryptionRequestT& request) const + { + return SubmitCallable(&S3Client::PutBucketEncryption, request); + } /** - * <p>This action uses the <code>encryption</code> subresource to configure default - * encryption and Amazon S3 Bucket Key for an existing bucket.</p> <p>Default - * encryption for a bucket can use server-side encryption with Amazon S3-managed - * keys (SSE-S3) or AWS KMS customer master keys (SSE-KMS). If you specify default - * encryption using SSE-KMS, you can also configure Amazon S3 Bucket Key. For - * information about default encryption, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon - * S3 default bucket encryption</a> in the <i>Amazon S3 User Guide</i>. For more - * information about S3 Bucket Keys, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 - * Bucket Keys</a> in the <i>Amazon S3 User Guide</i>.</p> <p>This - * action requires AWS Signature Version 4. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html"> - * Authenticating Requests (AWS Signature Version 4)</a>. </p> <p>To - * use this operation, you must have permissions to perform the - * <code>s3:PutEncryptionConfiguration</code> action. The bucket owner has this - * permission by default. The bucket owner can grant this permission to others. For - * more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a> in the Amazon S3 User Guide. - * </p> <p class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html">GetBucketEncryption</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html">DeleteBucketEncryption</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryption">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for PutBucketEncryption that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void PutBucketEncryptionAsync(const Model::PutBucketEncryptionRequest& request, const PutBucketEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename PutBucketEncryptionRequestT = Model::PutBucketEncryptionRequest> + void PutBucketEncryptionAsync(const PutBucketEncryptionRequestT& request, const PutBucketEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::PutBucketEncryption, request, handler, context); + } /** * <p>Puts a S3 Intelligent-Tiering configuration to the specified bucket. You can * have up to 1,000 S3 Intelligent-Tiering configurations per bucket.</p> <p>The S3 * Intelligent-Tiering storage class is designed to optimize storage costs by * automatically moving data to the most cost-effective storage access tier, - * without additional operational overhead. S3 Intelligent-Tiering delivers - * automatic cost savings by moving data between access tiers, when access patterns - * change.</p> <p>The S3 Intelligent-Tiering storage class is suitable for objects - * larger than 128 KB that you plan to store for at least 30 days. If the size of - * an object is less than 128 KB, it is not eligible for auto-tiering. Smaller - * objects can be stored, but they are always charged at the frequent access tier - * rates in the S3 Intelligent-Tiering storage class. </p> <p>If you delete an - * object before the end of the 30-day minimum storage duration period, you are - * charged for 30 days. For more information, see <a + * without performance impact or operational overhead. S3 Intelligent-Tiering + * delivers automatic cost savings in three low latency and high throughput access + * tiers. To get the lowest storage cost on data that can be accessed in minutes to + * hours, you can choose to activate additional archiving capabilities.</p> <p>The + * S3 Intelligent-Tiering storage class is the ideal storage class for data with + * unknown, changing, or unpredictable access patterns, independent of object size + * or retention period. If the size of an object is less than 128 KB, it is not + * monitored and not eligible for auto-tiering. Smaller objects can be stored, but + * they are always charged at the Frequent Access tier rates in the S3 + * Intelligent-Tiering storage class.</p> <p>For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage * class for automatically optimizing frequently and infrequently accessed * objects</a>.</p> <p>Operations related to @@ -7288,96 +3705,22 @@ namespace Aws virtual Model::PutBucketIntelligentTieringConfigurationOutcome PutBucketIntelligentTieringConfiguration(const Model::PutBucketIntelligentTieringConfigurationRequest& request) const; /** - * <p>Puts a S3 Intelligent-Tiering configuration to the specified bucket. You can - * have up to 1,000 S3 Intelligent-Tiering configurations per bucket.</p> <p>The S3 - * Intelligent-Tiering storage class is designed to optimize storage costs by - * automatically moving data to the most cost-effective storage access tier, - * without additional operational overhead. S3 Intelligent-Tiering delivers - * automatic cost savings by moving data between access tiers, when access patterns - * change.</p> <p>The S3 Intelligent-Tiering storage class is suitable for objects - * larger than 128 KB that you plan to store for at least 30 days. If the size of - * an object is less than 128 KB, it is not eligible for auto-tiering. Smaller - * objects can be stored, but they are always charged at the frequent access tier - * rates in the S3 Intelligent-Tiering storage class. </p> <p>If you delete an - * object before the end of the 30-day minimum storage duration period, you are - * charged for 30 days. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage - * class for automatically optimizing frequently and infrequently accessed - * objects</a>.</p> <p>Operations related to - * <code>PutBucketIntelligentTieringConfiguration</code> include: </p> <ul> <li> - * <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html">DeleteBucketIntelligentTieringConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html">GetBucketIntelligentTieringConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html">ListBucketIntelligentTieringConfigurations</a> - * </p> </li> </ul> <p>You only need S3 Intelligent-Tiering enabled on a - * bucket if you want to automatically move objects stored in the S3 - * Intelligent-Tiering storage class to the Archive Access or Deep Archive Access - * tier.</p> <p class="title"> <b>Special Errors</b> </p> <ul> <li> <p - * class="title"> <b>HTTP 400 Bad Request Error</b> </p> <ul> <li> <p> <i>Code:</i> - * InvalidArgument</p> </li> <li> <p> <i>Cause:</i> Invalid Argument</p> </li> - * </ul> </li> <li> <p class="title"> <b>HTTP 400 Bad Request Error</b> </p> <ul> - * <li> <p> <i>Code:</i> TooManyConfigurations</p> </li> <li> <p> <i>Cause:</i> You - * are attempting to create a new configuration but have already reached the - * 1,000-configuration limit. </p> </li> </ul> </li> <li> <p class="title"> <b>HTTP - * 403 Forbidden Error</b> </p> <ul> <li> <p> <i>Code:</i> AccessDenied</p> </li> - * <li> <p> <i>Cause:</i> You are not the owner of the specified bucket, or you do - * not have the <code>s3:PutIntelligentTieringConfiguration</code> bucket - * permission to set the configuration on the bucket. </p> </li> </ul> </li> - * </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketIntelligentTieringConfiguration">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for PutBucketIntelligentTieringConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::PutBucketIntelligentTieringConfigurationOutcomeCallable PutBucketIntelligentTieringConfigurationCallable(const Model::PutBucketIntelligentTieringConfigurationRequest& request) const; + template<typename PutBucketIntelligentTieringConfigurationRequestT = Model::PutBucketIntelligentTieringConfigurationRequest> + Model::PutBucketIntelligentTieringConfigurationOutcomeCallable PutBucketIntelligentTieringConfigurationCallable(const PutBucketIntelligentTieringConfigurationRequestT& request) const + { + return SubmitCallable(&S3Client::PutBucketIntelligentTieringConfiguration, request); + } /** - * <p>Puts a S3 Intelligent-Tiering configuration to the specified bucket. You can - * have up to 1,000 S3 Intelligent-Tiering configurations per bucket.</p> <p>The S3 - * Intelligent-Tiering storage class is designed to optimize storage costs by - * automatically moving data to the most cost-effective storage access tier, - * without additional operational overhead. S3 Intelligent-Tiering delivers - * automatic cost savings by moving data between access tiers, when access patterns - * change.</p> <p>The S3 Intelligent-Tiering storage class is suitable for objects - * larger than 128 KB that you plan to store for at least 30 days. If the size of - * an object is less than 128 KB, it is not eligible for auto-tiering. Smaller - * objects can be stored, but they are always charged at the frequent access tier - * rates in the S3 Intelligent-Tiering storage class. </p> <p>If you delete an - * object before the end of the 30-day minimum storage duration period, you are - * charged for 30 days. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage - * class for automatically optimizing frequently and infrequently accessed - * objects</a>.</p> <p>Operations related to - * <code>PutBucketIntelligentTieringConfiguration</code> include: </p> <ul> <li> - * <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html">DeleteBucketIntelligentTieringConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html">GetBucketIntelligentTieringConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html">ListBucketIntelligentTieringConfigurations</a> - * </p> </li> </ul> <p>You only need S3 Intelligent-Tiering enabled on a - * bucket if you want to automatically move objects stored in the S3 - * Intelligent-Tiering storage class to the Archive Access or Deep Archive Access - * tier.</p> <p class="title"> <b>Special Errors</b> </p> <ul> <li> <p - * class="title"> <b>HTTP 400 Bad Request Error</b> </p> <ul> <li> <p> <i>Code:</i> - * InvalidArgument</p> </li> <li> <p> <i>Cause:</i> Invalid Argument</p> </li> - * </ul> </li> <li> <p class="title"> <b>HTTP 400 Bad Request Error</b> </p> <ul> - * <li> <p> <i>Code:</i> TooManyConfigurations</p> </li> <li> <p> <i>Cause:</i> You - * are attempting to create a new configuration but have already reached the - * 1,000-configuration limit. </p> </li> </ul> </li> <li> <p class="title"> <b>HTTP - * 403 Forbidden Error</b> </p> <ul> <li> <p> <i>Code:</i> AccessDenied</p> </li> - * <li> <p> <i>Cause:</i> You are not the owner of the specified bucket, or you do - * not have the <code>s3:PutIntelligentTieringConfiguration</code> bucket - * permission to set the configuration on the bucket. </p> </li> </ul> </li> - * </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketIntelligentTieringConfiguration">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for PutBucketIntelligentTieringConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void PutBucketIntelligentTieringConfigurationAsync(const Model::PutBucketIntelligentTieringConfigurationRequest& request, const PutBucketIntelligentTieringConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename PutBucketIntelligentTieringConfigurationRequestT = Model::PutBucketIntelligentTieringConfigurationRequest> + void PutBucketIntelligentTieringConfigurationAsync(const PutBucketIntelligentTieringConfigurationRequestT& request, const PutBucketIntelligentTieringConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::PutBucketIntelligentTieringConfiguration, request, handler, context); + } /** * <p>This implementation of the <code>PUT</code> action adds an inventory @@ -7387,12 +3730,12 @@ namespace Aws * results are published to a flat file. The bucket that is inventoried is called * the <i>source</i> bucket, and the bucket where the inventory flat file is stored * is called the <i>destination</i> bucket. The <i>destination</i> bucket must be - * in the same AWS Region as the <i>source</i> bucket. </p> <p>When you configure - * an inventory for a <i>source</i> bucket, you specify the <i>destination</i> - * bucket where you want the inventory to be stored, and whether to generate the - * inventory daily or weekly. You can also configure what object metadata to - * include and whether to inventory all object versions or only current versions. - * For more information, see <a + * in the same Amazon Web Services Region as the <i>source</i> bucket. </p> <p>When + * you configure an inventory for a <i>source</i> bucket, you specify the + * <i>destination</i> bucket where you want the inventory to be stored, and whether + * to generate the inventory daily or weekly. You can also configure what object + * metadata to include and whether to inventory all object versions or only current + * versions. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon * S3 Inventory</a> in the Amazon S3 User Guide.</p> <p>You must create * a bucket policy on the <i>destination</i> bucket to grant permissions to Amazon @@ -7432,132 +3775,46 @@ namespace Aws virtual Model::PutBucketInventoryConfigurationOutcome PutBucketInventoryConfiguration(const Model::PutBucketInventoryConfigurationRequest& request) const; /** - * <p>This implementation of the <code>PUT</code> action adds an inventory - * configuration (identified by the inventory ID) to the bucket. You can have up to - * 1,000 inventory configurations per bucket. </p> <p>Amazon S3 inventory generates - * inventories of the objects in the bucket on a daily or weekly basis, and the - * results are published to a flat file. The bucket that is inventoried is called - * the <i>source</i> bucket, and the bucket where the inventory flat file is stored - * is called the <i>destination</i> bucket. The <i>destination</i> bucket must be - * in the same AWS Region as the <i>source</i> bucket. </p> <p>When you configure - * an inventory for a <i>source</i> bucket, you specify the <i>destination</i> - * bucket where you want the inventory to be stored, and whether to generate the - * inventory daily or weekly. You can also configure what object metadata to - * include and whether to inventory all object versions or only current versions. - * For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon - * S3 Inventory</a> in the Amazon S3 User Guide.</p> <p>You must create - * a bucket policy on the <i>destination</i> bucket to grant permissions to Amazon - * S3 to write objects to the bucket in the defined location. For an example - * policy, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9"> - * Granting Permissions for Amazon S3 Inventory and Storage Class Analysis</a>.</p> - * <p>To use this operation, you must have permissions to perform the - * <code>s3:PutInventoryConfiguration</code> action. The bucket owner has this - * permission by default and can grant this permission to others. For more - * information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a> in the Amazon S3 User - * Guide.</p> <p class="title"> <b>Special Errors</b> </p> <ul> <li> <p - * class="title"> <b>HTTP 400 Bad Request Error</b> </p> <ul> <li> <p> <i>Code:</i> - * InvalidArgument</p> </li> <li> <p> <i>Cause:</i> Invalid Argument</p> </li> - * </ul> </li> <li> <p class="title"> <b>HTTP 400 Bad Request Error</b> </p> <ul> - * <li> <p> <i>Code:</i> TooManyConfigurations</p> </li> <li> <p> <i>Cause:</i> You - * are attempting to create a new configuration but have already reached the - * 1,000-configuration limit. </p> </li> </ul> </li> <li> <p class="title"> <b>HTTP - * 403 Forbidden Error</b> </p> <ul> <li> <p> <i>Code:</i> AccessDenied</p> </li> - * <li> <p> <i>Cause:</i> You are not the owner of the specified bucket, or you do - * not have the <code>s3:PutInventoryConfiguration</code> bucket permission to set - * the configuration on the bucket. </p> </li> </ul> </li> </ul> <p class="title"> - * <b>Related Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html">GetBucketInventoryConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html">DeleteBucketInventoryConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html">ListBucketInventoryConfigurations</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for PutBucketInventoryConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::PutBucketInventoryConfigurationOutcomeCallable PutBucketInventoryConfigurationCallable(const Model::PutBucketInventoryConfigurationRequest& request) const; + template<typename PutBucketInventoryConfigurationRequestT = Model::PutBucketInventoryConfigurationRequest> + Model::PutBucketInventoryConfigurationOutcomeCallable PutBucketInventoryConfigurationCallable(const PutBucketInventoryConfigurationRequestT& request) const + { + return SubmitCallable(&S3Client::PutBucketInventoryConfiguration, request); + } /** - * <p>This implementation of the <code>PUT</code> action adds an inventory - * configuration (identified by the inventory ID) to the bucket. You can have up to - * 1,000 inventory configurations per bucket. </p> <p>Amazon S3 inventory generates - * inventories of the objects in the bucket on a daily or weekly basis, and the - * results are published to a flat file. The bucket that is inventoried is called - * the <i>source</i> bucket, and the bucket where the inventory flat file is stored - * is called the <i>destination</i> bucket. The <i>destination</i> bucket must be - * in the same AWS Region as the <i>source</i> bucket. </p> <p>When you configure - * an inventory for a <i>source</i> bucket, you specify the <i>destination</i> - * bucket where you want the inventory to be stored, and whether to generate the - * inventory daily or weekly. You can also configure what object metadata to - * include and whether to inventory all object versions or only current versions. - * For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon - * S3 Inventory</a> in the Amazon S3 User Guide.</p> <p>You must create - * a bucket policy on the <i>destination</i> bucket to grant permissions to Amazon - * S3 to write objects to the bucket in the defined location. For an example - * policy, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9"> - * Granting Permissions for Amazon S3 Inventory and Storage Class Analysis</a>.</p> - * <p>To use this operation, you must have permissions to perform the - * <code>s3:PutInventoryConfiguration</code> action. The bucket owner has this - * permission by default and can grant this permission to others. For more - * information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a> in the Amazon S3 User - * Guide.</p> <p class="title"> <b>Special Errors</b> </p> <ul> <li> <p - * class="title"> <b>HTTP 400 Bad Request Error</b> </p> <ul> <li> <p> <i>Code:</i> - * InvalidArgument</p> </li> <li> <p> <i>Cause:</i> Invalid Argument</p> </li> - * </ul> </li> <li> <p class="title"> <b>HTTP 400 Bad Request Error</b> </p> <ul> - * <li> <p> <i>Code:</i> TooManyConfigurations</p> </li> <li> <p> <i>Cause:</i> You - * are attempting to create a new configuration but have already reached the - * 1,000-configuration limit. </p> </li> </ul> </li> <li> <p class="title"> <b>HTTP - * 403 Forbidden Error</b> </p> <ul> <li> <p> <i>Code:</i> AccessDenied</p> </li> - * <li> <p> <i>Cause:</i> You are not the owner of the specified bucket, or you do - * not have the <code>s3:PutInventoryConfiguration</code> bucket permission to set - * the configuration on the bucket. </p> </li> </ul> </li> </ul> <p class="title"> - * <b>Related Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html">GetBucketInventoryConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html">DeleteBucketInventoryConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html">ListBucketInventoryConfigurations</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for PutBucketInventoryConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void PutBucketInventoryConfigurationAsync(const Model::PutBucketInventoryConfigurationRequest& request, const PutBucketInventoryConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename PutBucketInventoryConfigurationRequestT = Model::PutBucketInventoryConfigurationRequest> + void PutBucketInventoryConfigurationAsync(const PutBucketInventoryConfigurationRequestT& request, const PutBucketInventoryConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::PutBucketInventoryConfiguration, request, handler, context); + } /** * <p>Creates a new lifecycle configuration for the bucket or replaces an existing - * lifecycle configuration. For information about lifecycle configuration, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>Bucket - * lifecycle configuration now supports specifying a lifecycle rule using an object - * key name prefix, one or more object tags, or a combination of both. Accordingly, - * this section describes the latest API. The previous version of the API supported - * filtering based only on an object key name prefix, which is supported for - * backward compatibility. For the related API description, see <a + * lifecycle configuration. Keep in mind that this will overwrite an existing + * lifecycle configuration, so if you want to retain any configuration details, + * they must be included in the new lifecycle configuration. For information about + * lifecycle configuration, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html">Managing + * your storage lifecycle</a>.</p> <p>Bucket lifecycle configuration now + * supports specifying a lifecycle rule using an object key name prefix, one or + * more object tags, or a combination of both. Accordingly, this section describes + * the latest API. The previous version of the API supported filtering based only + * on an object key name prefix, which is supported for backward compatibility. For + * the related API description, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html">PutBucketLifecycle</a>.</p> * <p> <b>Rules</b> </p> <p>You specify the lifecycle configuration in your * request body. The lifecycle configuration is specified as XML consisting of one - * or more rules. Each rule consists of the following:</p> <ul> <li> <p>Filter - * identifying a subset of objects to which the rule applies. The filter can be - * based on a key name prefix, object tags, or a combination of both.</p> </li> - * <li> <p>Status whether the rule is in effect.</p> </li> <li> <p>One or more - * lifecycle transition and expiration actions that you want Amazon S3 to perform - * on the objects identified by the filter. If the state of your bucket is + * or more rules. An Amazon S3 Lifecycle configuration can have up to 1,000 rules. + * This limit is not adjustable. Each rule consists of the following:</p> <ul> <li> + * <p>Filter identifying a subset of objects to which the rule applies. The filter + * can be based on a key name prefix, object tags, or a combination of both.</p> + * </li> <li> <p>Status whether the rule is in effect.</p> </li> <li> <p>One or + * more lifecycle transition and expiration actions that you want Amazon S3 to + * perform on the objects identified by the filter. If the state of your bucket is * versioning-enabled or versioning-suspended, you can have many versions of the * same object (one current version and zero or more noncurrent versions). Amazon * S3 provides predefined actions that you can specify for current and noncurrent @@ -7568,16 +3825,17 @@ namespace Aws * Configuration Elements</a>.</p> <p> <b>Permissions</b> </p> <p>By default, all * Amazon S3 resources are private, including buckets, objects, and related * subresources (for example, lifecycle configuration and website configuration). - * Only the resource owner (that is, the AWS account that created it) can access - * the resource. The resource owner can optionally grant access permissions to - * others by writing an access policy. For this operation, a user must get the - * s3:PutLifecycleConfiguration permission.</p> <p>You can also explicitly deny - * permissions. Explicit deny also supersedes any other permissions. If you want to - * block users or accounts from removing or deleting objects from your bucket, you - * must deny them permissions for the following actions:</p> <ul> <li> - * <p>s3:DeleteObject</p> </li> <li> <p>s3:DeleteObjectVersion</p> </li> <li> - * <p>s3:PutLifecycleConfiguration</p> </li> </ul> <p>For more information about - * permissions, see <a + * Only the resource owner (that is, the Amazon Web Services account that created + * it) can access the resource. The resource owner can optionally grant access + * permissions to others by writing an access policy. For this operation, a user + * must get the <code>s3:PutLifecycleConfiguration</code> permission.</p> <p>You + * can also explicitly deny permissions. Explicit deny also supersedes any other + * permissions. If you want to block users or accounts from removing or deleting + * objects from your bucket, you must deny them permissions for the following + * actions:</p> <ul> <li> <p> <code>s3:DeleteObject</code> </p> </li> <li> <p> + * <code>s3:DeleteObjectVersion</code> </p> </li> <li> <p> + * <code>s3:PutLifecycleConfiguration</code> </p> </li> </ul> <p>For more + * information about permissions, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>The following are * related to <code>PutBucketLifecycleConfiguration</code>:</p> <ul> <li> <p> <a @@ -7593,126 +3851,40 @@ namespace Aws virtual Model::PutBucketLifecycleConfigurationOutcome PutBucketLifecycleConfiguration(const Model::PutBucketLifecycleConfigurationRequest& request) const; /** - * <p>Creates a new lifecycle configuration for the bucket or replaces an existing - * lifecycle configuration. For information about lifecycle configuration, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>Bucket - * lifecycle configuration now supports specifying a lifecycle rule using an object - * key name prefix, one or more object tags, or a combination of both. Accordingly, - * this section describes the latest API. The previous version of the API supported - * filtering based only on an object key name prefix, which is supported for - * backward compatibility. For the related API description, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html">PutBucketLifecycle</a>.</p> - * <p> <b>Rules</b> </p> <p>You specify the lifecycle configuration in your - * request body. The lifecycle configuration is specified as XML consisting of one - * or more rules. Each rule consists of the following:</p> <ul> <li> <p>Filter - * identifying a subset of objects to which the rule applies. The filter can be - * based on a key name prefix, object tags, or a combination of both.</p> </li> - * <li> <p>Status whether the rule is in effect.</p> </li> <li> <p>One or more - * lifecycle transition and expiration actions that you want Amazon S3 to perform - * on the objects identified by the filter. If the state of your bucket is - * versioning-enabled or versioning-suspended, you can have many versions of the - * same object (one current version and zero or more noncurrent versions). Amazon - * S3 provides predefined actions that you can specify for current and noncurrent - * object versions.</p> </li> </ul> <p>For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object - * Lifecycle Management</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html">Lifecycle - * Configuration Elements</a>.</p> <p> <b>Permissions</b> </p> <p>By default, all - * Amazon S3 resources are private, including buckets, objects, and related - * subresources (for example, lifecycle configuration and website configuration). - * Only the resource owner (that is, the AWS account that created it) can access - * the resource. The resource owner can optionally grant access permissions to - * others by writing an access policy. For this operation, a user must get the - * s3:PutLifecycleConfiguration permission.</p> <p>You can also explicitly deny - * permissions. Explicit deny also supersedes any other permissions. If you want to - * block users or accounts from removing or deleting objects from your bucket, you - * must deny them permissions for the following actions:</p> <ul> <li> - * <p>s3:DeleteObject</p> </li> <li> <p>s3:DeleteObjectVersion</p> </li> <li> - * <p>s3:PutLifecycleConfiguration</p> </li> </ul> <p>For more information about - * permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>The following are - * related to <code>PutBucketLifecycleConfiguration</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-configuration-examples.html">Examples - * of Lifecycle Configuration</a> </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html">GetBucketLifecycleConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html">DeleteBucketLifecycle</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for PutBucketLifecycleConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::PutBucketLifecycleConfigurationOutcomeCallable PutBucketLifecycleConfigurationCallable(const Model::PutBucketLifecycleConfigurationRequest& request) const; + template<typename PutBucketLifecycleConfigurationRequestT = Model::PutBucketLifecycleConfigurationRequest> + Model::PutBucketLifecycleConfigurationOutcomeCallable PutBucketLifecycleConfigurationCallable(const PutBucketLifecycleConfigurationRequestT& request) const + { + return SubmitCallable(&S3Client::PutBucketLifecycleConfiguration, request); + } /** - * <p>Creates a new lifecycle configuration for the bucket or replaces an existing - * lifecycle configuration. For information about lifecycle configuration, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>Bucket - * lifecycle configuration now supports specifying a lifecycle rule using an object - * key name prefix, one or more object tags, or a combination of both. Accordingly, - * this section describes the latest API. The previous version of the API supported - * filtering based only on an object key name prefix, which is supported for - * backward compatibility. For the related API description, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html">PutBucketLifecycle</a>.</p> - * <p> <b>Rules</b> </p> <p>You specify the lifecycle configuration in your - * request body. The lifecycle configuration is specified as XML consisting of one - * or more rules. Each rule consists of the following:</p> <ul> <li> <p>Filter - * identifying a subset of objects to which the rule applies. The filter can be - * based on a key name prefix, object tags, or a combination of both.</p> </li> - * <li> <p>Status whether the rule is in effect.</p> </li> <li> <p>One or more - * lifecycle transition and expiration actions that you want Amazon S3 to perform - * on the objects identified by the filter. If the state of your bucket is - * versioning-enabled or versioning-suspended, you can have many versions of the - * same object (one current version and zero or more noncurrent versions). Amazon - * S3 provides predefined actions that you can specify for current and noncurrent - * object versions.</p> </li> </ul> <p>For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object - * Lifecycle Management</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html">Lifecycle - * Configuration Elements</a>.</p> <p> <b>Permissions</b> </p> <p>By default, all - * Amazon S3 resources are private, including buckets, objects, and related - * subresources (for example, lifecycle configuration and website configuration). - * Only the resource owner (that is, the AWS account that created it) can access - * the resource. The resource owner can optionally grant access permissions to - * others by writing an access policy. For this operation, a user must get the - * s3:PutLifecycleConfiguration permission.</p> <p>You can also explicitly deny - * permissions. Explicit deny also supersedes any other permissions. If you want to - * block users or accounts from removing or deleting objects from your bucket, you - * must deny them permissions for the following actions:</p> <ul> <li> - * <p>s3:DeleteObject</p> </li> <li> <p>s3:DeleteObjectVersion</p> </li> <li> - * <p>s3:PutLifecycleConfiguration</p> </li> </ul> <p>For more information about - * permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>The following are - * related to <code>PutBucketLifecycleConfiguration</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-configuration-examples.html">Examples - * of Lifecycle Configuration</a> </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html">GetBucketLifecycleConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html">DeleteBucketLifecycle</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for PutBucketLifecycleConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void PutBucketLifecycleConfigurationAsync(const Model::PutBucketLifecycleConfigurationRequest& request, const PutBucketLifecycleConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename PutBucketLifecycleConfigurationRequestT = Model::PutBucketLifecycleConfigurationRequest> + void PutBucketLifecycleConfigurationAsync(const PutBucketLifecycleConfigurationRequestT& request, const PutBucketLifecycleConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::PutBucketLifecycleConfiguration, request, handler, context); + } /** * <p>Set the logging parameters for a bucket and to specify permissions for who * can view and modify the logging parameters. All logs are saved to buckets in the - * same AWS Region as the source bucket. To set the logging status of a bucket, you - * must be the bucket owner.</p> <p>The bucket owner is automatically granted - * FULL_CONTROL to all logs. You use the <code>Grantee</code> request element to - * grant access to other people. The <code>Permissions</code> request element - * specifies the kind of access the grantee has to the logs.</p> <p> <b>Grantee - * Values</b> </p> <p>You can specify the person (grantee) to whom you're assigning - * access rights (using request elements) in the following ways:</p> <ul> <li> - * <p>By the person's ID:</p> <p> <code><Grantee + * same Amazon Web Services Region as the source bucket. To set the logging status + * of a bucket, you must be the bucket owner.</p> <p>The bucket owner is + * automatically granted FULL_CONTROL to all logs. You use the <code>Grantee</code> + * request element to grant access to other people. The <code>Permissions</code> + * request element specifies the kind of access the grantee has to the logs.</p> + * <p>If the target bucket for log delivery uses the bucket owner + * enforced setting for S3 Object Ownership, you can't use the <code>Grantee</code> + * request element to grant access to others. Permissions can only be granted using + * policies. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general">Permissions + * for server access log delivery</a> in the <i>Amazon S3 User Guide</i>.</p> + * <p> <b>Grantee Values</b> </p> <p>You can specify the person + * (grantee) to whom you're assigning access rights (using request elements) in the + * following ways:</p> <ul> <li> <p>By the person's ID:</p> <p> <code><Grantee * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> * </Grantee></code> </p> <p>DisplayName is optional and ignored in the @@ -7728,8 +3900,9 @@ namespace Aws * request element:</p> <p> <code><BucketLoggingStatus * xmlns="http://doc.s3.amazonaws.com/2006-03-01" /></code> </p> <p>For more * information about server access logging, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html">Server - * Access Logging</a>. </p> <p>For more information about creating a bucket, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html">Server + * Access Logging</a> in the <i>Amazon S3 User Guide</i>. </p> <p>For more + * information about creating a bucket, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a>. * For more information about returning the logging status of a bucket, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html">GetBucketLogging</a>.</p> @@ -7749,100 +3922,22 @@ namespace Aws virtual Model::PutBucketLoggingOutcome PutBucketLogging(const Model::PutBucketLoggingRequest& request) const; /** - * <p>Set the logging parameters for a bucket and to specify permissions for who - * can view and modify the logging parameters. All logs are saved to buckets in the - * same AWS Region as the source bucket. To set the logging status of a bucket, you - * must be the bucket owner.</p> <p>The bucket owner is automatically granted - * FULL_CONTROL to all logs. You use the <code>Grantee</code> request element to - * grant access to other people. The <code>Permissions</code> request element - * specifies the kind of access the grantee has to the logs.</p> <p> <b>Grantee - * Values</b> </p> <p>You can specify the person (grantee) to whom you're assigning - * access rights (using request elements) in the following ways:</p> <ul> <li> - * <p>By the person's ID:</p> <p> <code><Grantee - * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> - * </Grantee></code> </p> <p>DisplayName is optional and ignored in the - * request.</p> </li> <li> <p>By Email address:</p> <p> <code> <Grantee - * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - * xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress></Grantee></code> - * </p> <p>The grantee is resolved to the CanonicalUser and, in a response to a GET - * Object acl request, appears as the CanonicalUser.</p> </li> <li> <p>By URI:</p> - * <p> <code><Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - * xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee></code> - * </p> </li> </ul> <p>To enable logging, you use LoggingEnabled and its children - * request elements. To disable logging, you use an empty BucketLoggingStatus - * request element:</p> <p> <code><BucketLoggingStatus - * xmlns="http://doc.s3.amazonaws.com/2006-03-01" /></code> </p> <p>For more - * information about server access logging, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html">Server - * Access Logging</a>. </p> <p>For more information about creating a bucket, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a>. - * For more information about returning the logging status of a bucket, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html">GetBucketLogging</a>.</p> - * <p>The following operations are related to <code>PutBucketLogging</code>:</p> - * <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html">GetBucketLogging</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for PutBucketLogging that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::PutBucketLoggingOutcomeCallable PutBucketLoggingCallable(const Model::PutBucketLoggingRequest& request) const; + template<typename PutBucketLoggingRequestT = Model::PutBucketLoggingRequest> + Model::PutBucketLoggingOutcomeCallable PutBucketLoggingCallable(const PutBucketLoggingRequestT& request) const + { + return SubmitCallable(&S3Client::PutBucketLogging, request); + } /** - * <p>Set the logging parameters for a bucket and to specify permissions for who - * can view and modify the logging parameters. All logs are saved to buckets in the - * same AWS Region as the source bucket. To set the logging status of a bucket, you - * must be the bucket owner.</p> <p>The bucket owner is automatically granted - * FULL_CONTROL to all logs. You use the <code>Grantee</code> request element to - * grant access to other people. The <code>Permissions</code> request element - * specifies the kind of access the grantee has to the logs.</p> <p> <b>Grantee - * Values</b> </p> <p>You can specify the person (grantee) to whom you're assigning - * access rights (using request elements) in the following ways:</p> <ul> <li> - * <p>By the person's ID:</p> <p> <code><Grantee - * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> - * </Grantee></code> </p> <p>DisplayName is optional and ignored in the - * request.</p> </li> <li> <p>By Email address:</p> <p> <code> <Grantee - * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - * xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress></Grantee></code> - * </p> <p>The grantee is resolved to the CanonicalUser and, in a response to a GET - * Object acl request, appears as the CanonicalUser.</p> </li> <li> <p>By URI:</p> - * <p> <code><Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - * xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee></code> - * </p> </li> </ul> <p>To enable logging, you use LoggingEnabled and its children - * request elements. To disable logging, you use an empty BucketLoggingStatus - * request element:</p> <p> <code><BucketLoggingStatus - * xmlns="http://doc.s3.amazonaws.com/2006-03-01" /></code> </p> <p>For more - * information about server access logging, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html">Server - * Access Logging</a>. </p> <p>For more information about creating a bucket, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a>. - * For more information about returning the logging status of a bucket, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html">GetBucketLogging</a>.</p> - * <p>The following operations are related to <code>PutBucketLogging</code>:</p> - * <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html">GetBucketLogging</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for PutBucketLogging that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void PutBucketLoggingAsync(const Model::PutBucketLoggingRequest& request, const PutBucketLoggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename PutBucketLoggingRequestT = Model::PutBucketLoggingRequest> + void PutBucketLoggingAsync(const PutBucketLoggingRequestT& request, const PutBucketLoggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::PutBucketLogging, request, handler, context); + } /** * <p>Sets a metrics configuration (specified by the metrics configuration ID) for @@ -7863,7 +3958,7 @@ namespace Aws * to <code>PutBucketMetricsConfiguration</code>:</p> <ul> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html">DeleteBucketMetricsConfiguration</a> * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html">PutBucketMetricsConfiguration</a> + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html">GetBucketMetricsConfiguration</a> * </p> </li> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html">ListBucketMetricsConfigurations</a> * </p> </li> </ul> <p> <code>GetBucketLifecycle</code> has the following special @@ -7877,72 +3972,22 @@ namespace Aws virtual Model::PutBucketMetricsConfigurationOutcome PutBucketMetricsConfiguration(const Model::PutBucketMetricsConfigurationRequest& request) const; /** - * <p>Sets a metrics configuration (specified by the metrics configuration ID) for - * the bucket. You can have up to 1,000 metrics configurations per bucket. If - * you're updating an existing metrics configuration, note that this is a full - * replacement of the existing metrics configuration. If you don't include the - * elements you want to keep, they are erased.</p> <p>To use this operation, you - * must have permissions to perform the <code>s3:PutMetricsConfiguration</code> - * action. The bucket owner has this permission by default. The bucket owner can - * grant this permission to others. For more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about - * CloudWatch request metrics for Amazon S3, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring - * Metrics with Amazon CloudWatch</a>.</p> <p>The following operations are related - * to <code>PutBucketMetricsConfiguration</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html">DeleteBucketMetricsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html">PutBucketMetricsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html">ListBucketMetricsConfigurations</a> - * </p> </li> </ul> <p> <code>GetBucketLifecycle</code> has the following special - * error:</p> <ul> <li> <p>Error code: <code>TooManyConfigurations</code> </p> <ul> - * <li> <p>Description: You are attempting to create a new configuration but have - * already reached the 1,000-configuration limit.</p> </li> <li> <p>HTTP Status - * Code: HTTP 400 Bad Request</p> </li> </ul> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for PutBucketMetricsConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::PutBucketMetricsConfigurationOutcomeCallable PutBucketMetricsConfigurationCallable(const Model::PutBucketMetricsConfigurationRequest& request) const; + template<typename PutBucketMetricsConfigurationRequestT = Model::PutBucketMetricsConfigurationRequest> + Model::PutBucketMetricsConfigurationOutcomeCallable PutBucketMetricsConfigurationCallable(const PutBucketMetricsConfigurationRequestT& request) const + { + return SubmitCallable(&S3Client::PutBucketMetricsConfiguration, request); + } /** - * <p>Sets a metrics configuration (specified by the metrics configuration ID) for - * the bucket. You can have up to 1,000 metrics configurations per bucket. If - * you're updating an existing metrics configuration, note that this is a full - * replacement of the existing metrics configuration. If you don't include the - * elements you want to keep, they are erased.</p> <p>To use this operation, you - * must have permissions to perform the <code>s3:PutMetricsConfiguration</code> - * action. The bucket owner has this permission by default. The bucket owner can - * grant this permission to others. For more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about - * CloudWatch request metrics for Amazon S3, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring - * Metrics with Amazon CloudWatch</a>.</p> <p>The following operations are related - * to <code>PutBucketMetricsConfiguration</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html">DeleteBucketMetricsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html">PutBucketMetricsConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html">ListBucketMetricsConfigurations</a> - * </p> </li> </ul> <p> <code>GetBucketLifecycle</code> has the following special - * error:</p> <ul> <li> <p>Error code: <code>TooManyConfigurations</code> </p> <ul> - * <li> <p>Description: You are attempting to create a new configuration but have - * already reached the 1,000-configuration limit.</p> </li> <li> <p>HTTP Status - * Code: HTTP 400 Bad Request</p> </li> </ul> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for PutBucketMetricsConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void PutBucketMetricsConfigurationAsync(const Model::PutBucketMetricsConfigurationRequest& request, const PutBucketMetricsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename PutBucketMetricsConfigurationRequestT = Model::PutBucketMetricsConfigurationRequest> + void PutBucketMetricsConfigurationAsync(const PutBucketMetricsConfigurationRequestT& request, const PutBucketMetricsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::PutBucketMetricsConfiguration, request, handler, context); + } /** * <p>Enables notifications of specified events for a bucket. For more information @@ -7961,27 +4006,32 @@ namespace Aws * request body.</p> <p>After Amazon S3 receives this request, it first verifies * that any Amazon Simple Notification Service (Amazon SNS) or Amazon Simple Queue * Service (Amazon SQS) destination exists, and that the bucket owner has - * permission to publish to it by sending a test notification. In the case of AWS + * permission to publish to it by sending a test notification. In the case of * Lambda destinations, Amazon S3 verifies that the Lambda function permissions * grant Amazon S3 permission to invoke the function from the Amazon S3 bucket. For * more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring * Notifications for Amazon S3 Events</a>.</p> <p>You can disable notifications by - * adding the empty NotificationConfiguration element.</p> <p>By default, only the - * bucket owner can configure notifications on a bucket. However, bucket owners can - * use a bucket policy to grant permission to other users to set this configuration - * with <code>s3:PutBucketNotification</code> permission.</p> <p>The PUT - * notification is an atomic operation. For example, suppose your notification - * configuration includes SNS topic, SQS queue, and Lambda function configurations. - * When you send a PUT request with this configuration, Amazon S3 sends test - * messages to your SNS topic. If the message fails, the entire PUT action will - * fail, and Amazon S3 will not add the configuration to your bucket.</p> - * <p> <b>Responses</b> </p> <p>If the configuration in the request body includes - * only one <code>TopicConfiguration</code> specifying only the - * <code>s3:ReducedRedundancyLostObject</code> event type, the response will also - * include the <code>x-amz-sns-test-message-id</code> header containing the message - * ID of the test notification sent to the topic.</p> <p>The following action is - * related to <code>PutBucketNotificationConfiguration</code>:</p> <ul> <li> <p> <a + * adding the empty NotificationConfiguration element.</p> <p>For more information + * about the number of event notification configurations that you can create per + * bucket, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/s3.html#limits_s3">Amazon S3 + * service quotas</a> in <i>Amazon Web Services General Reference</i>.</p> <p>By + * default, only the bucket owner can configure notifications on a bucket. However, + * bucket owners can use a bucket policy to grant permission to other users to set + * this configuration with <code>s3:PutBucketNotification</code> permission.</p> + * <p>The PUT notification is an atomic operation. For example, suppose your + * notification configuration includes SNS topic, SQS queue, and Lambda function + * configurations. When you send a PUT request with this configuration, Amazon S3 + * sends test messages to your SNS topic. If the message fails, the entire PUT + * action will fail, and Amazon S3 will not add the configuration to your + * bucket.</p> <p> <b>Responses</b> </p> <p>If the configuration in the + * request body includes only one <code>TopicConfiguration</code> specifying only + * the <code>s3:ReducedRedundancyLostObject</code> event type, the response will + * also include the <code>x-amz-sns-test-message-id</code> header containing the + * message ID of the test notification sent to the topic.</p> <p>The following + * action is related to <code>PutBucketNotificationConfiguration</code>:</p> <ul> + * <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html">GetBucketNotificationConfiguration</a> * </p> </li> </ul><p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration">AWS @@ -7990,109 +4040,33 @@ namespace Aws virtual Model::PutBucketNotificationConfigurationOutcome PutBucketNotificationConfiguration(const Model::PutBucketNotificationConfigurationRequest& request) const; /** - * <p>Enables notifications of specified events for a bucket. For more information - * about event notifications, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring - * Event Notifications</a>.</p> <p>Using this API, you can replace an existing - * notification configuration. The configuration is an XML file that defines the - * event types that you want Amazon S3 to publish and the destination where you - * want Amazon S3 to publish an event notification when it detects an event of the - * specified type.</p> <p>By default, your bucket has no event notifications - * configured. That is, the notification configuration will be an empty - * <code>NotificationConfiguration</code>.</p> <p> - * <code><NotificationConfiguration></code> </p> <p> - * <code></NotificationConfiguration></code> </p> <p>This action replaces the - * existing notification configuration with the configuration you include in the - * request body.</p> <p>After Amazon S3 receives this request, it first verifies - * that any Amazon Simple Notification Service (Amazon SNS) or Amazon Simple Queue - * Service (Amazon SQS) destination exists, and that the bucket owner has - * permission to publish to it by sending a test notification. In the case of AWS - * Lambda destinations, Amazon S3 verifies that the Lambda function permissions - * grant Amazon S3 permission to invoke the function from the Amazon S3 bucket. For - * more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring - * Notifications for Amazon S3 Events</a>.</p> <p>You can disable notifications by - * adding the empty NotificationConfiguration element.</p> <p>By default, only the - * bucket owner can configure notifications on a bucket. However, bucket owners can - * use a bucket policy to grant permission to other users to set this configuration - * with <code>s3:PutBucketNotification</code> permission.</p> <p>The PUT - * notification is an atomic operation. For example, suppose your notification - * configuration includes SNS topic, SQS queue, and Lambda function configurations. - * When you send a PUT request with this configuration, Amazon S3 sends test - * messages to your SNS topic. If the message fails, the entire PUT action will - * fail, and Amazon S3 will not add the configuration to your bucket.</p> - * <p> <b>Responses</b> </p> <p>If the configuration in the request body includes - * only one <code>TopicConfiguration</code> specifying only the - * <code>s3:ReducedRedundancyLostObject</code> event type, the response will also - * include the <code>x-amz-sns-test-message-id</code> header containing the message - * ID of the test notification sent to the topic.</p> <p>The following action is - * related to <code>PutBucketNotificationConfiguration</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html">GetBucketNotificationConfiguration</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for PutBucketNotificationConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::PutBucketNotificationConfigurationOutcomeCallable PutBucketNotificationConfigurationCallable(const Model::PutBucketNotificationConfigurationRequest& request) const; + template<typename PutBucketNotificationConfigurationRequestT = Model::PutBucketNotificationConfigurationRequest> + Model::PutBucketNotificationConfigurationOutcomeCallable PutBucketNotificationConfigurationCallable(const PutBucketNotificationConfigurationRequestT& request) const + { + return SubmitCallable(&S3Client::PutBucketNotificationConfiguration, request); + } /** - * <p>Enables notifications of specified events for a bucket. For more information - * about event notifications, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring - * Event Notifications</a>.</p> <p>Using this API, you can replace an existing - * notification configuration. The configuration is an XML file that defines the - * event types that you want Amazon S3 to publish and the destination where you - * want Amazon S3 to publish an event notification when it detects an event of the - * specified type.</p> <p>By default, your bucket has no event notifications - * configured. That is, the notification configuration will be an empty - * <code>NotificationConfiguration</code>.</p> <p> - * <code><NotificationConfiguration></code> </p> <p> - * <code></NotificationConfiguration></code> </p> <p>This action replaces the - * existing notification configuration with the configuration you include in the - * request body.</p> <p>After Amazon S3 receives this request, it first verifies - * that any Amazon Simple Notification Service (Amazon SNS) or Amazon Simple Queue - * Service (Amazon SQS) destination exists, and that the bucket owner has - * permission to publish to it by sending a test notification. In the case of AWS - * Lambda destinations, Amazon S3 verifies that the Lambda function permissions - * grant Amazon S3 permission to invoke the function from the Amazon S3 bucket. For - * more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring - * Notifications for Amazon S3 Events</a>.</p> <p>You can disable notifications by - * adding the empty NotificationConfiguration element.</p> <p>By default, only the - * bucket owner can configure notifications on a bucket. However, bucket owners can - * use a bucket policy to grant permission to other users to set this configuration - * with <code>s3:PutBucketNotification</code> permission.</p> <p>The PUT - * notification is an atomic operation. For example, suppose your notification - * configuration includes SNS topic, SQS queue, and Lambda function configurations. - * When you send a PUT request with this configuration, Amazon S3 sends test - * messages to your SNS topic. If the message fails, the entire PUT action will - * fail, and Amazon S3 will not add the configuration to your bucket.</p> - * <p> <b>Responses</b> </p> <p>If the configuration in the request body includes - * only one <code>TopicConfiguration</code> specifying only the - * <code>s3:ReducedRedundancyLostObject</code> event type, the response will also - * include the <code>x-amz-sns-test-message-id</code> header containing the message - * ID of the test notification sent to the topic.</p> <p>The following action is - * related to <code>PutBucketNotificationConfiguration</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html">GetBucketNotificationConfiguration</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for PutBucketNotificationConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void PutBucketNotificationConfigurationAsync(const Model::PutBucketNotificationConfigurationRequest& request, const PutBucketNotificationConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename PutBucketNotificationConfigurationRequestT = Model::PutBucketNotificationConfigurationRequest> + void PutBucketNotificationConfigurationAsync(const PutBucketNotificationConfigurationRequestT& request, const PutBucketNotificationConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::PutBucketNotificationConfiguration, request, handler, context); + } /** * <p>Creates or modifies <code>OwnershipControls</code> for an Amazon S3 bucket. * To use this operation, you must have the * <code>s3:PutBucketOwnershipControls</code> permission. For more information * about Amazon S3 permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying - * Permissions in a Policy</a>. </p> <p>For information about Amazon S3 Object + * href="https://docs.aws.amazon.com/AmazonS3/latest/user-guide/using-with-s3-actions.html">Specifying + * permissions in a policy</a>. </p> <p>For information about Amazon S3 Object * Ownership, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html">Using - * Object Ownership</a>. </p> <p>The following operations are related to + * href="https://docs.aws.amazon.com/AmazonS3/latest/user-guide/about-object-ownership.html">Using + * object ownership</a>. </p> <p>The following operations are related to * <code>PutBucketOwnershipControls</code>:</p> <ul> <li> <p> * <a>GetBucketOwnershipControls</a> </p> </li> <li> <p> * <a>DeleteBucketOwnershipControls</a> </p> </li> </ul><p><h3>See Also:</h3> <a @@ -8102,61 +4076,40 @@ namespace Aws virtual Model::PutBucketOwnershipControlsOutcome PutBucketOwnershipControls(const Model::PutBucketOwnershipControlsRequest& request) const; /** - * <p>Creates or modifies <code>OwnershipControls</code> for an Amazon S3 bucket. - * To use this operation, you must have the - * <code>s3:PutBucketOwnershipControls</code> permission. For more information - * about Amazon S3 permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying - * Permissions in a Policy</a>. </p> <p>For information about Amazon S3 Object - * Ownership, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html">Using - * Object Ownership</a>. </p> <p>The following operations are related to - * <code>PutBucketOwnershipControls</code>:</p> <ul> <li> <p> - * <a>GetBucketOwnershipControls</a> </p> </li> <li> <p> - * <a>DeleteBucketOwnershipControls</a> </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketOwnershipControls">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for PutBucketOwnershipControls that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::PutBucketOwnershipControlsOutcomeCallable PutBucketOwnershipControlsCallable(const Model::PutBucketOwnershipControlsRequest& request) const; + template<typename PutBucketOwnershipControlsRequestT = Model::PutBucketOwnershipControlsRequest> + Model::PutBucketOwnershipControlsOutcomeCallable PutBucketOwnershipControlsCallable(const PutBucketOwnershipControlsRequestT& request) const + { + return SubmitCallable(&S3Client::PutBucketOwnershipControls, request); + } /** - * <p>Creates or modifies <code>OwnershipControls</code> for an Amazon S3 bucket. - * To use this operation, you must have the - * <code>s3:PutBucketOwnershipControls</code> permission. For more information - * about Amazon S3 permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying - * Permissions in a Policy</a>. </p> <p>For information about Amazon S3 Object - * Ownership, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html">Using - * Object Ownership</a>. </p> <p>The following operations are related to - * <code>PutBucketOwnershipControls</code>:</p> <ul> <li> <p> - * <a>GetBucketOwnershipControls</a> </p> </li> <li> <p> - * <a>DeleteBucketOwnershipControls</a> </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketOwnershipControls">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for PutBucketOwnershipControls that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void PutBucketOwnershipControlsAsync(const Model::PutBucketOwnershipControlsRequest& request, const PutBucketOwnershipControlsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename PutBucketOwnershipControlsRequestT = Model::PutBucketOwnershipControlsRequest> + void PutBucketOwnershipControlsAsync(const PutBucketOwnershipControlsRequestT& request, const PutBucketOwnershipControlsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::PutBucketOwnershipControls, request, handler, context); + } /** * <p>Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using - * an identity other than the root user of the AWS account that owns the bucket, - * the calling identity must have the <code>PutBucketPolicy</code> permissions on - * the specified bucket and belong to the bucket owner's account in order to use - * this operation.</p> <p>If you don't have <code>PutBucketPolicy</code> - * permissions, Amazon S3 returns a <code>403 Access Denied</code> error. If you - * have the correct permissions, but you're not using an identity that belongs to - * the bucket owner's account, Amazon S3 returns a <code>405 Method Not - * Allowed</code> error.</p> <p> As a security precaution, the root - * user of the AWS account that owns a bucket can always use this operation, even - * if the policy explicitly denies the root user the ability to perform this - * action. </p> <p>For more information about bucket policies, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using - * Bucket Policies and User Policies</a>.</p> <p>The following operations are - * related to <code>PutBucketPolicy</code>:</p> <ul> <li> <p> <a + * an identity other than the root user of the Amazon Web Services account that + * owns the bucket, the calling identity must have the <code>PutBucketPolicy</code> + * permissions on the specified bucket and belong to the bucket owner's account in + * order to use this operation.</p> <p>If you don't have + * <code>PutBucketPolicy</code> permissions, Amazon S3 returns a <code>403 Access + * Denied</code> error. If you have the correct permissions, but you're not using + * an identity that belongs to the bucket owner's account, Amazon S3 returns a + * <code>405 Method Not Allowed</code> error.</p> <p> As a security + * precaution, the root user of the Amazon Web Services account that owns a bucket + * can always use this operation, even if the policy explicitly denies the root + * user the ability to perform this action. </p> <p>For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html">Bucket + * policy examples</a>.</p> <p>The following operations are related to + * <code>PutBucketPolicy</code>:</p> <ul> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> * </p> </li> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> @@ -8167,107 +4120,74 @@ namespace Aws virtual Model::PutBucketPolicyOutcome PutBucketPolicy(const Model::PutBucketPolicyRequest& request) const; /** - * <p>Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using - * an identity other than the root user of the AWS account that owns the bucket, - * the calling identity must have the <code>PutBucketPolicy</code> permissions on - * the specified bucket and belong to the bucket owner's account in order to use - * this operation.</p> <p>If you don't have <code>PutBucketPolicy</code> - * permissions, Amazon S3 returns a <code>403 Access Denied</code> error. If you - * have the correct permissions, but you're not using an identity that belongs to - * the bucket owner's account, Amazon S3 returns a <code>405 Method Not - * Allowed</code> error.</p> <p> As a security precaution, the root - * user of the AWS account that owns a bucket can always use this operation, even - * if the policy explicitly denies the root user the ability to perform this - * action. </p> <p>For more information about bucket policies, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using - * Bucket Policies and User Policies</a>.</p> <p>The following operations are - * related to <code>PutBucketPolicy</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for PutBucketPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::PutBucketPolicyOutcomeCallable PutBucketPolicyCallable(const Model::PutBucketPolicyRequest& request) const; + template<typename PutBucketPolicyRequestT = Model::PutBucketPolicyRequest> + Model::PutBucketPolicyOutcomeCallable PutBucketPolicyCallable(const PutBucketPolicyRequestT& request) const + { + return SubmitCallable(&S3Client::PutBucketPolicy, request); + } /** - * <p>Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using - * an identity other than the root user of the AWS account that owns the bucket, - * the calling identity must have the <code>PutBucketPolicy</code> permissions on - * the specified bucket and belong to the bucket owner's account in order to use - * this operation.</p> <p>If you don't have <code>PutBucketPolicy</code> - * permissions, Amazon S3 returns a <code>403 Access Denied</code> error. If you - * have the correct permissions, but you're not using an identity that belongs to - * the bucket owner's account, Amazon S3 returns a <code>405 Method Not - * Allowed</code> error.</p> <p> As a security precaution, the root - * user of the AWS account that owns a bucket can always use this operation, even - * if the policy explicitly denies the root user the ability to perform this - * action. </p> <p>For more information about bucket policies, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using - * Bucket Policies and User Policies</a>.</p> <p>The following operations are - * related to <code>PutBucketPolicy</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for PutBucketPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void PutBucketPolicyAsync(const Model::PutBucketPolicyRequest& request, const PutBucketPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename PutBucketPolicyRequestT = Model::PutBucketPolicyRequest> + void PutBucketPolicyAsync(const PutBucketPolicyRequestT& request, const PutBucketPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::PutBucketPolicy, request, handler, context); + } /** * <p> Creates a replication configuration or replaces an existing one. For more * information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a> - * in the <i>Amazon S3 Developer Guide</i>. </p> <p>To perform this - * operation, the user or role performing the action must have the <a - * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html">iam:PassRole</a> - * permission.</p> <p>Specify the replication configuration in the request - * body. In the replication configuration, you provide the name of the destination - * bucket or buckets where you want Amazon S3 to replicate objects, the IAM role - * that Amazon S3 can assume to replicate objects on your behalf, and other - * relevant information.</p> <p>A replication configuration must include at least - * one rule, and can contain a maximum of 1,000. Each rule identifies a subset of - * objects to replicate by filtering the objects in the source bucket. To choose - * additional subsets of objects to replicate, add a rule for each subset.</p> - * <p>To specify a subset of the objects in the source bucket to apply a - * replication rule to, add the Filter element as a child of the Rule element. You - * can filter objects based on an object key prefix, one or more object tags, or - * both. When you add the Filter element in the configuration, you must also add - * the following elements: <code>DeleteMarkerReplication</code>, - * <code>Status</code>, and <code>Priority</code>.</p> <p>If you are using - * an earlier version of the replication configuration, Amazon S3 handles - * replication of delete markers differently. For more information, see <a + * in the <i>Amazon S3 User Guide</i>. </p> <p>Specify the replication + * configuration in the request body. In the replication configuration, you provide + * the name of the destination bucket or buckets where you want Amazon S3 to + * replicate objects, the IAM role that Amazon S3 can assume to replicate objects + * on your behalf, and other relevant information.</p> <p>A replication + * configuration must include at least one rule, and can contain a maximum of + * 1,000. Each rule identifies a subset of objects to replicate by filtering the + * objects in the source bucket. To choose additional subsets of objects to + * replicate, add a rule for each subset.</p> <p>To specify a subset of the objects + * in the source bucket to apply a replication rule to, add the Filter element as a + * child of the Rule element. You can filter objects based on an object key prefix, + * one or more object tags, or both. When you add the Filter element in the + * configuration, you must also add the following elements: + * <code>DeleteMarkerReplication</code>, <code>Status</code>, and + * <code>Priority</code>.</p> <p>If you are using an earlier version of the + * replication configuration, Amazon S3 handles replication of delete markers + * differently. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations">Backward * Compatibility</a>.</p> <p>For information about enabling versioning on a * bucket, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html">Using - * Versioning</a>.</p> <p>By default, a resource owner, in this case the AWS - * account that created the bucket, can perform this operation. The resource owner - * can also grant others permissions to perform the operation. For more information - * about permissions, see <a + * Versioning</a>.</p> <p> <b>Handling Replication of Encrypted Objects</b> </p> + * <p>By default, Amazon S3 doesn't replicate objects that are stored at rest using + * server-side encryption with KMS keys. To replicate Amazon Web Services + * KMS-encrypted objects, add the following: <code>SourceSelectionCriteria</code>, + * <code>SseKmsEncryptedObjects</code>, <code>Status</code>, + * <code>EncryptionConfiguration</code>, and <code>ReplicaKmsKeyID</code>. For + * information about replication configuration, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-config-for-kms-objects.html">Replicating + * Objects Created with SSE Using KMS keys</a>.</p> <p>For information on + * <code>PutBucketReplication</code> errors, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ReplicationErrorCodeList">List + * of replication-related error codes</a> </p> <p> <b>Permissions</b> </p> <p>To + * create a <code>PutBucketReplication</code> request, you must have + * <code>s3:PutReplicationConfiguration</code> permissions for the bucket. </p> + * <p>By default, a resource owner, in this case the Amazon Web Services account + * that created the bucket, can perform this operation. The resource owner can also + * grant others permissions to perform the operation. For more information about + * permissions, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying * Permissions in a Policy</a> and <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> <b>Handling - * Replication of Encrypted Objects</b> </p> <p>By default, Amazon S3 doesn't - * replicate objects that are stored at rest using server-side encryption with CMKs - * stored in AWS KMS. To replicate AWS KMS-encrypted objects, add the following: - * <code>SourceSelectionCriteria</code>, <code>SseKmsEncryptedObjects</code>, - * <code>Status</code>, <code>EncryptionConfiguration</code>, and - * <code>ReplicaKmsKeyID</code>. For information about replication configuration, - * see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-config-for-kms-objects.html">Replicating - * Objects Created with SSE Using CMKs stored in AWS KMS</a>.</p> <p>For - * information on <code>PutBucketReplication</code> errors, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ReplicationErrorCodeList">List - * of replication-related error codes</a> </p> <p>The following operations are - * related to <code>PutBucketReplication</code>:</p> <ul> <li> <p> <a + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>To perform + * this operation, the user or role performing the action must have the <a + * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html">iam:PassRole</a> + * permission.</p> <p>The following operations are related to + * <code>PutBucketReplication</code>:</p> <ul> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html">GetBucketReplication</a> * </p> </li> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html">DeleteBucketReplication</a> @@ -8278,122 +4198,22 @@ namespace Aws virtual Model::PutBucketReplicationOutcome PutBucketReplication(const Model::PutBucketReplicationRequest& request) const; /** - * <p> Creates a replication configuration or replaces an existing one. For more - * information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a> - * in the <i>Amazon S3 Developer Guide</i>. </p> <p>To perform this - * operation, the user or role performing the action must have the <a - * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html">iam:PassRole</a> - * permission.</p> <p>Specify the replication configuration in the request - * body. In the replication configuration, you provide the name of the destination - * bucket or buckets where you want Amazon S3 to replicate objects, the IAM role - * that Amazon S3 can assume to replicate objects on your behalf, and other - * relevant information.</p> <p>A replication configuration must include at least - * one rule, and can contain a maximum of 1,000. Each rule identifies a subset of - * objects to replicate by filtering the objects in the source bucket. To choose - * additional subsets of objects to replicate, add a rule for each subset.</p> - * <p>To specify a subset of the objects in the source bucket to apply a - * replication rule to, add the Filter element as a child of the Rule element. You - * can filter objects based on an object key prefix, one or more object tags, or - * both. When you add the Filter element in the configuration, you must also add - * the following elements: <code>DeleteMarkerReplication</code>, - * <code>Status</code>, and <code>Priority</code>.</p> <p>If you are using - * an earlier version of the replication configuration, Amazon S3 handles - * replication of delete markers differently. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations">Backward - * Compatibility</a>.</p> <p>For information about enabling versioning on a - * bucket, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html">Using - * Versioning</a>.</p> <p>By default, a resource owner, in this case the AWS - * account that created the bucket, can perform this operation. The resource owner - * can also grant others permissions to perform the operation. For more information - * about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying - * Permissions in a Policy</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> <b>Handling - * Replication of Encrypted Objects</b> </p> <p>By default, Amazon S3 doesn't - * replicate objects that are stored at rest using server-side encryption with CMKs - * stored in AWS KMS. To replicate AWS KMS-encrypted objects, add the following: - * <code>SourceSelectionCriteria</code>, <code>SseKmsEncryptedObjects</code>, - * <code>Status</code>, <code>EncryptionConfiguration</code>, and - * <code>ReplicaKmsKeyID</code>. For information about replication configuration, - * see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-config-for-kms-objects.html">Replicating - * Objects Created with SSE Using CMKs stored in AWS KMS</a>.</p> <p>For - * information on <code>PutBucketReplication</code> errors, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ReplicationErrorCodeList">List - * of replication-related error codes</a> </p> <p>The following operations are - * related to <code>PutBucketReplication</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html">GetBucketReplication</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html">DeleteBucketReplication</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for PutBucketReplication that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::PutBucketReplicationOutcomeCallable PutBucketReplicationCallable(const Model::PutBucketReplicationRequest& request) const; + template<typename PutBucketReplicationRequestT = Model::PutBucketReplicationRequest> + Model::PutBucketReplicationOutcomeCallable PutBucketReplicationCallable(const PutBucketReplicationRequestT& request) const + { + return SubmitCallable(&S3Client::PutBucketReplication, request); + } /** - * <p> Creates a replication configuration or replaces an existing one. For more - * information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a> - * in the <i>Amazon S3 Developer Guide</i>. </p> <p>To perform this - * operation, the user or role performing the action must have the <a - * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html">iam:PassRole</a> - * permission.</p> <p>Specify the replication configuration in the request - * body. In the replication configuration, you provide the name of the destination - * bucket or buckets where you want Amazon S3 to replicate objects, the IAM role - * that Amazon S3 can assume to replicate objects on your behalf, and other - * relevant information.</p> <p>A replication configuration must include at least - * one rule, and can contain a maximum of 1,000. Each rule identifies a subset of - * objects to replicate by filtering the objects in the source bucket. To choose - * additional subsets of objects to replicate, add a rule for each subset.</p> - * <p>To specify a subset of the objects in the source bucket to apply a - * replication rule to, add the Filter element as a child of the Rule element. You - * can filter objects based on an object key prefix, one or more object tags, or - * both. When you add the Filter element in the configuration, you must also add - * the following elements: <code>DeleteMarkerReplication</code>, - * <code>Status</code>, and <code>Priority</code>.</p> <p>If you are using - * an earlier version of the replication configuration, Amazon S3 handles - * replication of delete markers differently. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations">Backward - * Compatibility</a>.</p> <p>For information about enabling versioning on a - * bucket, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html">Using - * Versioning</a>.</p> <p>By default, a resource owner, in this case the AWS - * account that created the bucket, can perform this operation. The resource owner - * can also grant others permissions to perform the operation. For more information - * about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying - * Permissions in a Policy</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> <b>Handling - * Replication of Encrypted Objects</b> </p> <p>By default, Amazon S3 doesn't - * replicate objects that are stored at rest using server-side encryption with CMKs - * stored in AWS KMS. To replicate AWS KMS-encrypted objects, add the following: - * <code>SourceSelectionCriteria</code>, <code>SseKmsEncryptedObjects</code>, - * <code>Status</code>, <code>EncryptionConfiguration</code>, and - * <code>ReplicaKmsKeyID</code>. For information about replication configuration, - * see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-config-for-kms-objects.html">Replicating - * Objects Created with SSE Using CMKs stored in AWS KMS</a>.</p> <p>For - * information on <code>PutBucketReplication</code> errors, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ReplicationErrorCodeList">List - * of replication-related error codes</a> </p> <p>The following operations are - * related to <code>PutBucketReplication</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html">GetBucketReplication</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html">DeleteBucketReplication</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for PutBucketReplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void PutBucketReplicationAsync(const Model::PutBucketReplicationRequest& request, const PutBucketReplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename PutBucketReplicationRequestT = Model::PutBucketReplicationRequest> + void PutBucketReplicationAsync(const PutBucketReplicationRequestT& request, const PutBucketReplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::PutBucketReplication, request, handler, context); + } /** * <p>Sets the request payment configuration for a bucket. By default, the bucket @@ -8413,61 +4233,42 @@ namespace Aws virtual Model::PutBucketRequestPaymentOutcome PutBucketRequestPayment(const Model::PutBucketRequestPaymentRequest& request) const; /** - * <p>Sets the request payment configuration for a bucket. By default, the bucket - * owner pays for downloads from the bucket. This configuration parameter enables - * the bucket owner (only) to specify that the person requesting the download will - * be charged for the download. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester - * Pays Buckets</a>.</p> <p>The following operations are related to - * <code>PutBucketRequestPayment</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketRequestPayment.html">GetBucketRequestPayment</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for PutBucketRequestPayment that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::PutBucketRequestPaymentOutcomeCallable PutBucketRequestPaymentCallable(const Model::PutBucketRequestPaymentRequest& request) const; + template<typename PutBucketRequestPaymentRequestT = Model::PutBucketRequestPaymentRequest> + Model::PutBucketRequestPaymentOutcomeCallable PutBucketRequestPaymentCallable(const PutBucketRequestPaymentRequestT& request) const + { + return SubmitCallable(&S3Client::PutBucketRequestPayment, request); + } /** - * <p>Sets the request payment configuration for a bucket. By default, the bucket - * owner pays for downloads from the bucket. This configuration parameter enables - * the bucket owner (only) to specify that the person requesting the download will - * be charged for the download. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester - * Pays Buckets</a>.</p> <p>The following operations are related to - * <code>PutBucketRequestPayment</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketRequestPayment.html">GetBucketRequestPayment</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for PutBucketRequestPayment that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void PutBucketRequestPaymentAsync(const Model::PutBucketRequestPaymentRequest& request, const PutBucketRequestPaymentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename PutBucketRequestPaymentRequestT = Model::PutBucketRequestPaymentRequest> + void PutBucketRequestPaymentAsync(const PutBucketRequestPaymentRequestT& request, const PutBucketRequestPaymentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::PutBucketRequestPayment, request, handler, context); + } /** - * <p>Sets the tags for a bucket.</p> <p>Use tags to organize your AWS bill to - * reflect your own cost structure. To do this, sign up to get your AWS account - * bill with tag key values included. Then, to see the cost of combined resources, - * organize your billing information according to resources with the same tag key - * values. For example, you can tag several resources with a specific application - * name, and then organize your billing information to see the total cost of that - * application across several services. For more information, see <a + * <p>Sets the tags for a bucket.</p> <p>Use tags to organize your Amazon Web + * Services bill to reflect your own cost structure. To do this, sign up to get + * your Amazon Web Services account bill with tag key values included. Then, to see + * the cost of combined resources, organize your billing information according to + * resources with the same tag key values. For example, you can tag several + * resources with a specific application name, and then organize your billing + * information to see the total cost of that application across several services. + * For more information, see <a * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Cost - * Allocation and Tagging</a>.</p> <p>Within a bucket, if you add a tag that - * has the same key as an existing tag, the new value overwrites the old value. For - * more information, see <a + * Allocation and Tagging</a> and <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CostAllocTagging.html">Using - * Cost Allocation in Amazon S3 Bucket Tags</a>.</p> <p>To use this - * operation, you must have permissions to perform the - * <code>s3:PutBucketTagging</code> action. The bucket owner has this permission by - * default and can grant this permission to others. For more information about - * permissions, see <a + * Cost Allocation in Amazon S3 Bucket Tags</a>.</p> <p> When this operation + * sets the tags for a bucket, it will overwrite any current tags the bucket + * already has. You cannot use this operation to add tags to an existing list of + * tags.</p> <p>To use this operation, you must have permissions to perform + * the <code>s3:PutBucketTagging</code> action. The bucket owner has this + * permission by default and can grant this permission to others. For more + * information about permissions, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions * Related to Bucket Subresource Operations</a> and <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing @@ -8478,16 +4279,17 @@ namespace Aws * input validation. For information about tag restrictions, see <a * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html">User-Defined * Tag Restrictions</a> and <a - * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/aws-tag-restrictions.html">AWS-Generated - * Cost Allocation Tag Restrictions</a>.</p> </li> </ul> </li> <li> <p>Error code: - * <code>MalformedXMLError</code> </p> <ul> <li> <p>Description: The XML provided - * does not match the schema.</p> </li> </ul> </li> <li> <p>Error code: - * <code>OperationAbortedError </code> </p> <ul> <li> <p>Description: A conflicting - * conditional action is currently in progress against this resource. Please try - * again.</p> </li> </ul> </li> <li> <p>Error code: <code>InternalError</code> </p> - * <ul> <li> <p>Description: The service was unable to apply the provided tag to - * the bucket.</p> </li> </ul> </li> </ul> <p>The following operations are related - * to <code>PutBucketTagging</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/aws-tag-restrictions.html">Amazon + * Web Services-Generated Cost Allocation Tag Restrictions</a>.</p> </li> </ul> + * </li> <li> <p>Error code: <code>MalformedXMLError</code> </p> <ul> <li> + * <p>Description: The XML provided does not match the schema.</p> </li> </ul> + * </li> <li> <p>Error code: <code>OperationAbortedError </code> </p> <ul> <li> + * <p>Description: A conflicting conditional action is currently in progress + * against this resource. Please try again.</p> </li> </ul> </li> <li> <p>Error + * code: <code>InternalError</code> </p> <ul> <li> <p>Description: The service was + * unable to apply the provided tag to the bucket.</p> </li> </ul> </li> </ul> + * <p>The following operations are related to <code>PutBucketTagging</code>:</p> + * <ul> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html">GetBucketTagging</a> * </p> </li> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html">DeleteBucketTagging</a> @@ -8498,124 +4300,44 @@ namespace Aws virtual Model::PutBucketTaggingOutcome PutBucketTagging(const Model::PutBucketTaggingRequest& request) const; /** - * <p>Sets the tags for a bucket.</p> <p>Use tags to organize your AWS bill to - * reflect your own cost structure. To do this, sign up to get your AWS account - * bill with tag key values included. Then, to see the cost of combined resources, - * organize your billing information according to resources with the same tag key - * values. For example, you can tag several resources with a specific application - * name, and then organize your billing information to see the total cost of that - * application across several services. For more information, see <a - * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Cost - * Allocation and Tagging</a>.</p> <p>Within a bucket, if you add a tag that - * has the same key as an existing tag, the new value overwrites the old value. For - * more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CostAllocTagging.html">Using - * Cost Allocation in Amazon S3 Bucket Tags</a>.</p> <p>To use this - * operation, you must have permissions to perform the - * <code>s3:PutBucketTagging</code> action. The bucket owner has this permission by - * default and can grant this permission to others. For more information about - * permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> - * <code>PutBucketTagging</code> has the following special errors:</p> <ul> <li> - * <p>Error code: <code>InvalidTagError</code> </p> <ul> <li> <p>Description: The - * tag provided was not a valid tag. This error can occur if the tag did not pass - * input validation. For information about tag restrictions, see <a - * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html">User-Defined - * Tag Restrictions</a> and <a - * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/aws-tag-restrictions.html">AWS-Generated - * Cost Allocation Tag Restrictions</a>.</p> </li> </ul> </li> <li> <p>Error code: - * <code>MalformedXMLError</code> </p> <ul> <li> <p>Description: The XML provided - * does not match the schema.</p> </li> </ul> </li> <li> <p>Error code: - * <code>OperationAbortedError </code> </p> <ul> <li> <p>Description: A conflicting - * conditional action is currently in progress against this resource. Please try - * again.</p> </li> </ul> </li> <li> <p>Error code: <code>InternalError</code> </p> - * <ul> <li> <p>Description: The service was unable to apply the provided tag to - * the bucket.</p> </li> </ul> </li> </ul> <p>The following operations are related - * to <code>PutBucketTagging</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html">GetBucketTagging</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html">DeleteBucketTagging</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for PutBucketTagging that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::PutBucketTaggingOutcomeCallable PutBucketTaggingCallable(const Model::PutBucketTaggingRequest& request) const; + template<typename PutBucketTaggingRequestT = Model::PutBucketTaggingRequest> + Model::PutBucketTaggingOutcomeCallable PutBucketTaggingCallable(const PutBucketTaggingRequestT& request) const + { + return SubmitCallable(&S3Client::PutBucketTagging, request); + } /** - * <p>Sets the tags for a bucket.</p> <p>Use tags to organize your AWS bill to - * reflect your own cost structure. To do this, sign up to get your AWS account - * bill with tag key values included. Then, to see the cost of combined resources, - * organize your billing information according to resources with the same tag key - * values. For example, you can tag several resources with a specific application - * name, and then organize your billing information to see the total cost of that - * application across several services. For more information, see <a - * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Cost - * Allocation and Tagging</a>.</p> <p>Within a bucket, if you add a tag that - * has the same key as an existing tag, the new value overwrites the old value. For - * more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CostAllocTagging.html">Using - * Cost Allocation in Amazon S3 Bucket Tags</a>.</p> <p>To use this - * operation, you must have permissions to perform the - * <code>s3:PutBucketTagging</code> action. The bucket owner has this permission by - * default and can grant this permission to others. For more information about - * permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> - * <code>PutBucketTagging</code> has the following special errors:</p> <ul> <li> - * <p>Error code: <code>InvalidTagError</code> </p> <ul> <li> <p>Description: The - * tag provided was not a valid tag. This error can occur if the tag did not pass - * input validation. For information about tag restrictions, see <a - * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html">User-Defined - * Tag Restrictions</a> and <a - * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/aws-tag-restrictions.html">AWS-Generated - * Cost Allocation Tag Restrictions</a>.</p> </li> </ul> </li> <li> <p>Error code: - * <code>MalformedXMLError</code> </p> <ul> <li> <p>Description: The XML provided - * does not match the schema.</p> </li> </ul> </li> <li> <p>Error code: - * <code>OperationAbortedError </code> </p> <ul> <li> <p>Description: A conflicting - * conditional action is currently in progress against this resource. Please try - * again.</p> </li> </ul> </li> <li> <p>Error code: <code>InternalError</code> </p> - * <ul> <li> <p>Description: The service was unable to apply the provided tag to - * the bucket.</p> </li> </ul> </li> </ul> <p>The following operations are related - * to <code>PutBucketTagging</code>:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html">GetBucketTagging</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html">DeleteBucketTagging</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for PutBucketTagging that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void PutBucketTaggingAsync(const Model::PutBucketTaggingRequest& request, const PutBucketTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename PutBucketTaggingRequestT = Model::PutBucketTaggingRequest> + void PutBucketTaggingAsync(const PutBucketTaggingRequestT& request, const PutBucketTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::PutBucketTagging, request, handler, context); + } /** - * <p>Sets the versioning state of an existing bucket. To set the versioning state, - * you must be the bucket owner.</p> <p>You can set the versioning state with one - * of the following values:</p> <p> <b>Enabled</b>—Enables versioning for the - * objects in the bucket. All objects added to the bucket receive a unique version - * ID.</p> <p> <b>Suspended</b>—Disables versioning for the objects in the bucket. - * All objects added to the bucket receive the version ID null.</p> <p>If the - * versioning state has never been set on a bucket, it has no versioning state; a - * <a + * <p>Sets the versioning state of an existing bucket.</p> <p>You can set the + * versioning state with one of the following values:</p> <p> + * <b>Enabled</b>—Enables versioning for the objects in the bucket. All objects + * added to the bucket receive a unique version ID.</p> <p> + * <b>Suspended</b>—Disables versioning for the objects in the bucket. All objects + * added to the bucket receive the version ID null.</p> <p>If the versioning state + * has never been set on a bucket, it has no versioning state; a <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html">GetBucketVersioning</a> - * request does not return a versioning state value.</p> <p>If the bucket owner - * enables MFA Delete in the bucket versioning configuration, the bucket owner must - * include the <code>x-amz-mfa request</code> header and the <code>Status</code> - * and the <code>MfaDelete</code> request elements in a request to set the - * versioning state of the bucket.</p> <p>If you have an object - * expiration lifecycle policy in your non-versioned bucket and you want to - * maintain the same permanent delete behavior when you enable versioning, you must - * add a noncurrent expiration policy. The noncurrent expiration lifecycle policy - * will manage the deletes of the noncurrent object versions in the version-enabled - * bucket. (A version-enabled bucket maintains one current and zero or more - * noncurrent object versions.) For more information, see <a + * request does not return a versioning state value.</p> <p>In order to enable MFA + * Delete, you must be the bucket owner. If you are the bucket owner and want to + * enable MFA Delete in the bucket versioning configuration, you must include the + * <code>x-amz-mfa request</code> header and the <code>Status</code> and the + * <code>MfaDelete</code> request elements in a request to set the versioning state + * of the bucket.</p> <p>If you have an object expiration lifecycle + * policy in your non-versioned bucket and you want to maintain the same permanent + * delete behavior when you enable versioning, you must add a noncurrent expiration + * policy. The noncurrent expiration lifecycle policy will manage the deletes of + * the noncurrent object versions in the version-enabled bucket. (A version-enabled + * bucket maintains one current and zero or more noncurrent object versions.) For + * more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-and-other-bucket-config">Lifecycle * and Versioning</a>.</p> <p class="title"> <b>Related Resources</b> * </p> <ul> <li> <p> <a @@ -8631,78 +4353,22 @@ namespace Aws virtual Model::PutBucketVersioningOutcome PutBucketVersioning(const Model::PutBucketVersioningRequest& request) const; /** - * <p>Sets the versioning state of an existing bucket. To set the versioning state, - * you must be the bucket owner.</p> <p>You can set the versioning state with one - * of the following values:</p> <p> <b>Enabled</b>—Enables versioning for the - * objects in the bucket. All objects added to the bucket receive a unique version - * ID.</p> <p> <b>Suspended</b>—Disables versioning for the objects in the bucket. - * All objects added to the bucket receive the version ID null.</p> <p>If the - * versioning state has never been set on a bucket, it has no versioning state; a - * <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html">GetBucketVersioning</a> - * request does not return a versioning state value.</p> <p>If the bucket owner - * enables MFA Delete in the bucket versioning configuration, the bucket owner must - * include the <code>x-amz-mfa request</code> header and the <code>Status</code> - * and the <code>MfaDelete</code> request elements in a request to set the - * versioning state of the bucket.</p> <p>If you have an object - * expiration lifecycle policy in your non-versioned bucket and you want to - * maintain the same permanent delete behavior when you enable versioning, you must - * add a noncurrent expiration policy. The noncurrent expiration lifecycle policy - * will manage the deletes of the noncurrent object versions in the version-enabled - * bucket. (A version-enabled bucket maintains one current and zero or more - * noncurrent object versions.) For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-and-other-bucket-config">Lifecycle - * and Versioning</a>.</p> <p class="title"> <b>Related Resources</b> - * </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html">GetBucketVersioning</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for PutBucketVersioning that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::PutBucketVersioningOutcomeCallable PutBucketVersioningCallable(const Model::PutBucketVersioningRequest& request) const; + template<typename PutBucketVersioningRequestT = Model::PutBucketVersioningRequest> + Model::PutBucketVersioningOutcomeCallable PutBucketVersioningCallable(const PutBucketVersioningRequestT& request) const + { + return SubmitCallable(&S3Client::PutBucketVersioning, request); + } /** - * <p>Sets the versioning state of an existing bucket. To set the versioning state, - * you must be the bucket owner.</p> <p>You can set the versioning state with one - * of the following values:</p> <p> <b>Enabled</b>—Enables versioning for the - * objects in the bucket. All objects added to the bucket receive a unique version - * ID.</p> <p> <b>Suspended</b>—Disables versioning for the objects in the bucket. - * All objects added to the bucket receive the version ID null.</p> <p>If the - * versioning state has never been set on a bucket, it has no versioning state; a - * <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html">GetBucketVersioning</a> - * request does not return a versioning state value.</p> <p>If the bucket owner - * enables MFA Delete in the bucket versioning configuration, the bucket owner must - * include the <code>x-amz-mfa request</code> header and the <code>Status</code> - * and the <code>MfaDelete</code> request elements in a request to set the - * versioning state of the bucket.</p> <p>If you have an object - * expiration lifecycle policy in your non-versioned bucket and you want to - * maintain the same permanent delete behavior when you enable versioning, you must - * add a noncurrent expiration policy. The noncurrent expiration lifecycle policy - * will manage the deletes of the noncurrent object versions in the version-enabled - * bucket. (A version-enabled bucket maintains one current and zero or more - * noncurrent object versions.) For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-and-other-bucket-config">Lifecycle - * and Versioning</a>.</p> <p class="title"> <b>Related Resources</b> - * </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html">GetBucketVersioning</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for PutBucketVersioning that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void PutBucketVersioningAsync(const Model::PutBucketVersioningRequest& request, const PutBucketVersioningResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename PutBucketVersioningRequestT = Model::PutBucketVersioningRequest> + void PutBucketVersioningAsync(const PutBucketVersioningRequestT& request, const PutBucketVersioningResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::PutBucketVersioning, request, handler, context); + } /** * <p>Sets the configuration of the website that is specified in the @@ -8748,94 +4414,22 @@ namespace Aws virtual Model::PutBucketWebsiteOutcome PutBucketWebsite(const Model::PutBucketWebsiteRequest& request) const; /** - * <p>Sets the configuration of the website that is specified in the - * <code>website</code> subresource. To configure a bucket as a website, you can - * add this subresource on the bucket with website configuration information such - * as the file name of the index document and any redirect rules. For more - * information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting - * Websites on Amazon S3</a>.</p> <p>This PUT action requires the - * <code>S3:PutBucketWebsite</code> permission. By default, only the bucket owner - * can configure the website attached to a bucket; however, bucket owners can allow - * other users to set the website configuration by writing a bucket policy that - * grants them the <code>S3:PutBucketWebsite</code> permission.</p> <p>To redirect - * all website requests sent to the bucket's website endpoint, you add a website - * configuration with the following elements. Because all requests are sent to - * another website, you don't need to provide index document name for the - * bucket.</p> <ul> <li> <p> <code>WebsiteConfiguration</code> </p> </li> <li> <p> - * <code>RedirectAllRequestsTo</code> </p> </li> <li> <p> <code>HostName</code> - * </p> </li> <li> <p> <code>Protocol</code> </p> </li> </ul> <p>If you want - * granular control over redirects, you can use the following elements to add - * routing rules that describe conditions for redirecting requests and information - * about the redirect destination. In this case, the website configuration must - * provide an index document for the bucket, because some requests might not be - * redirected. </p> <ul> <li> <p> <code>WebsiteConfiguration</code> </p> </li> <li> - * <p> <code>IndexDocument</code> </p> </li> <li> <p> <code>Suffix</code> </p> - * </li> <li> <p> <code>ErrorDocument</code> </p> </li> <li> <p> <code>Key</code> - * </p> </li> <li> <p> <code>RoutingRules</code> </p> </li> <li> <p> - * <code>RoutingRule</code> </p> </li> <li> <p> <code>Condition</code> </p> </li> - * <li> <p> <code>HttpErrorCodeReturnedEquals</code> </p> </li> <li> <p> - * <code>KeyPrefixEquals</code> </p> </li> <li> <p> <code>Redirect</code> </p> - * </li> <li> <p> <code>Protocol</code> </p> </li> <li> <p> <code>HostName</code> - * </p> </li> <li> <p> <code>ReplaceKeyPrefixWith</code> </p> </li> <li> <p> - * <code>ReplaceKeyWith</code> </p> </li> <li> <p> <code>HttpRedirectCode</code> - * </p> </li> </ul> <p>Amazon S3 has a limitation of 50 routing rules per website - * configuration. If you require more than 50 routing rules, you can use object - * redirect. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html">Configuring - * an Object Redirect</a> in the <i>Amazon S3 User Guide</i>.</p><p><h3>See - * Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for PutBucketWebsite that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::PutBucketWebsiteOutcomeCallable PutBucketWebsiteCallable(const Model::PutBucketWebsiteRequest& request) const; + template<typename PutBucketWebsiteRequestT = Model::PutBucketWebsiteRequest> + Model::PutBucketWebsiteOutcomeCallable PutBucketWebsiteCallable(const PutBucketWebsiteRequestT& request) const + { + return SubmitCallable(&S3Client::PutBucketWebsite, request); + } /** - * <p>Sets the configuration of the website that is specified in the - * <code>website</code> subresource. To configure a bucket as a website, you can - * add this subresource on the bucket with website configuration information such - * as the file name of the index document and any redirect rules. For more - * information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting - * Websites on Amazon S3</a>.</p> <p>This PUT action requires the - * <code>S3:PutBucketWebsite</code> permission. By default, only the bucket owner - * can configure the website attached to a bucket; however, bucket owners can allow - * other users to set the website configuration by writing a bucket policy that - * grants them the <code>S3:PutBucketWebsite</code> permission.</p> <p>To redirect - * all website requests sent to the bucket's website endpoint, you add a website - * configuration with the following elements. Because all requests are sent to - * another website, you don't need to provide index document name for the - * bucket.</p> <ul> <li> <p> <code>WebsiteConfiguration</code> </p> </li> <li> <p> - * <code>RedirectAllRequestsTo</code> </p> </li> <li> <p> <code>HostName</code> - * </p> </li> <li> <p> <code>Protocol</code> </p> </li> </ul> <p>If you want - * granular control over redirects, you can use the following elements to add - * routing rules that describe conditions for redirecting requests and information - * about the redirect destination. In this case, the website configuration must - * provide an index document for the bucket, because some requests might not be - * redirected. </p> <ul> <li> <p> <code>WebsiteConfiguration</code> </p> </li> <li> - * <p> <code>IndexDocument</code> </p> </li> <li> <p> <code>Suffix</code> </p> - * </li> <li> <p> <code>ErrorDocument</code> </p> </li> <li> <p> <code>Key</code> - * </p> </li> <li> <p> <code>RoutingRules</code> </p> </li> <li> <p> - * <code>RoutingRule</code> </p> </li> <li> <p> <code>Condition</code> </p> </li> - * <li> <p> <code>HttpErrorCodeReturnedEquals</code> </p> </li> <li> <p> - * <code>KeyPrefixEquals</code> </p> </li> <li> <p> <code>Redirect</code> </p> - * </li> <li> <p> <code>Protocol</code> </p> </li> <li> <p> <code>HostName</code> - * </p> </li> <li> <p> <code>ReplaceKeyPrefixWith</code> </p> </li> <li> <p> - * <code>ReplaceKeyWith</code> </p> </li> <li> <p> <code>HttpRedirectCode</code> - * </p> </li> </ul> <p>Amazon S3 has a limitation of 50 routing rules per website - * configuration. If you require more than 50 routing rules, you can use object - * redirect. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html">Configuring - * an Object Redirect</a> in the <i>Amazon S3 User Guide</i>.</p><p><h3>See - * Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for PutBucketWebsite that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void PutBucketWebsiteAsync(const Model::PutBucketWebsiteRequest& request, const PutBucketWebsiteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename PutBucketWebsiteRequestT = Model::PutBucketWebsiteRequest> + void PutBucketWebsiteAsync(const PutBucketWebsiteRequestT& request, const PutBucketWebsiteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::PutBucketWebsite, request, handler, context); + } /** * <p>Adds an object to a bucket. You must have WRITE permissions on a bucket to @@ -8849,46 +4443,64 @@ namespace Aws * header. When you use this header, Amazon S3 checks the object against the * provided MD5 value and, if they do not match, returns an error. Additionally, * you can calculate the MD5 while putting an object to Amazon S3 and compare the - * returned ETag to the calculated MD5 value.</p> <p> The - * <code>Content-MD5</code> header is required for any request to upload an object - * with a retention period configured using Amazon S3 Object Lock. For more - * information about Amazon S3 Object Lock, see <a + * returned ETag to the calculated MD5 value.</p> <ul> <li> <p>To + * successfully complete the <code>PutObject</code> request, you must have the + * <code>s3:PutObject</code> in your IAM permissions.</p> </li> <li> <p>To + * successfully change the objects acl of your <code>PutObject</code> request, you + * must have the <code>s3:PutObjectAcl</code> in your IAM permissions.</p> </li> + * <li> <p> The <code>Content-MD5</code> header is required for any request to + * upload an object with a retention period configured using Amazon S3 Object Lock. + * For more information about Amazon S3 Object Lock, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html">Amazon - * S3 Object Lock Overview</a> in the <i>Amazon S3 User Guide</i>. </p> <p> - * <b>Server-side Encryption</b> </p> <p>You can optionally request server-side - * encryption. With server-side encryption, Amazon S3 encrypts your data as it - * writes it to disks in its data centers and decrypts the data when you access it. - * You have the option to provide your own encryption key or use AWS managed - * encryption keys (SSE-S3 or SSE-KMS). For more information, see <a + * S3 Object Lock Overview</a> in the <i>Amazon S3 User Guide</i>. </p> </li> </ul> + * <p> <b>Server-side Encryption</b> </p> <p>You can optionally request + * server-side encryption. With server-side encryption, Amazon S3 encrypts your + * data as it writes it to disks in its data centers and decrypts the data when you + * access it. You have the option to provide your own encryption key or use Amazon + * Web Services managed encryption keys (SSE-S3 or SSE-KMS). For more information, + * see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html">Using * Server-Side Encryption</a>.</p> <p>If you request server-side encryption using - * AWS Key Management Service (SSE-KMS), you can enable an S3 Bucket Key at the - * object-level. For more information, see <a + * Amazon Web Services Key Management Service (SSE-KMS), you can enable an S3 + * Bucket Key at the object-level. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 * Bucket Keys</a> in the <i>Amazon S3 User Guide</i>.</p> <p> <b>Access Control * List (ACL)-Specific Request Headers</b> </p> <p>You can use headers to grant * ACL- based permissions. By default, all objects are private. Only the owner has * full access control. When adding a new object, you can grant permissions to - * individual AWS accounts or to predefined groups defined by Amazon S3. These - * permissions are then added to the ACL on the object. For more information, see - * <a + * individual Amazon Web Services accounts or to predefined groups defined by + * Amazon S3. These permissions are then added to the ACL on the object. For more + * information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access * Control List (ACL) Overview</a> and <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html">Managing - * ACLs Using the REST API</a>. </p> <p> <b>Storage Class Options</b> </p> <p>By - * default, Amazon S3 uses the STANDARD Storage Class to store newly created + * ACLs Using the REST API</a>. </p> <p>If the bucket that you're uploading objects + * to uses the bucket owner enforced setting for S3 Object Ownership, ACLs are + * disabled and no longer affect permissions. Buckets that use this setting only + * accept PUT requests that don't specify an ACL or PUT requests that specify + * bucket owner full control ACLs, such as the + * <code>bucket-owner-full-control</code> canned ACL or an equivalent form of this + * ACL expressed in the XML format. PUT requests that contain other ACLs (for + * example, custom grants to certain Amazon Web Services accounts) fail and return + * a <code>400</code> error with the error code + * <code>AccessControlListNotSupported</code>.</p> <p>For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html"> + * Controlling ownership of objects and disabling ACLs</a> in the <i>Amazon S3 User + * Guide</i>.</p> <p>If your bucket uses the bucket owner enforced setting + * for Object Ownership, all objects written to the bucket by any account will be + * owned by the bucket owner.</p> <p> <b>Storage Class Options</b> </p> + * <p>By default, Amazon S3 uses the STANDARD Storage Class to store newly created * objects. The STANDARD storage class provides high durability and high * availability. Depending on performance needs, you can specify a different * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For * more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage - * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> <p> - * <b>Versioning</b> </p> <p>If you enable versioning for a bucket, Amazon S3 - * automatically generates a unique version ID for the object being stored. Amazon - * S3 returns this ID in the response. When you enable versioning for a bucket, if - * Amazon S3 receives multiple write requests for the same object simultaneously, - * it stores all of the objects.</p> <p>For more information about versioning, see - * <a + * Classes</a> in the <i>Amazon S3 User Guide</i>.</p> <p> <b>Versioning</b> </p> + * <p>If you enable versioning for a bucket, Amazon S3 automatically generates a + * unique version ID for the object being stored. Amazon S3 returns this ID in the + * response. When you enable versioning for a bucket, if Amazon S3 receives + * multiple write requests for the same object simultaneously, it stores all of the + * objects.</p> <p>For more information about versioning, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html">Adding * Objects to Versioning Enabled Buckets</a>. For information about returning the * versioning state of a bucket, see <a @@ -8904,138 +4516,12 @@ namespace Aws virtual Model::PutObjectOutcome PutObject(const Model::PutObjectRequest& request) const; /** - * <p>Adds an object to a bucket. You must have WRITE permissions on a bucket to - * add an object to it.</p> <p>Amazon S3 never adds partial objects; if you receive - * a success response, Amazon S3 added the entire object to the bucket.</p> - * <p>Amazon S3 is a distributed system. If it receives multiple write requests for - * the same object simultaneously, it overwrites all but the last object written. - * Amazon S3 does not provide object locking; if you need this, make sure to build - * it into your application layer or use versioning instead.</p> <p>To ensure that - * data is not corrupted traversing the network, use the <code>Content-MD5</code> - * header. When you use this header, Amazon S3 checks the object against the - * provided MD5 value and, if they do not match, returns an error. Additionally, - * you can calculate the MD5 while putting an object to Amazon S3 and compare the - * returned ETag to the calculated MD5 value.</p> <p> The - * <code>Content-MD5</code> header is required for any request to upload an object - * with a retention period configured using Amazon S3 Object Lock. For more - * information about Amazon S3 Object Lock, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html">Amazon - * S3 Object Lock Overview</a> in the <i>Amazon S3 User Guide</i>. </p> <p> - * <b>Server-side Encryption</b> </p> <p>You can optionally request server-side - * encryption. With server-side encryption, Amazon S3 encrypts your data as it - * writes it to disks in its data centers and decrypts the data when you access it. - * You have the option to provide your own encryption key or use AWS managed - * encryption keys (SSE-S3 or SSE-KMS). For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html">Using - * Server-Side Encryption</a>.</p> <p>If you request server-side encryption using - * AWS Key Management Service (SSE-KMS), you can enable an S3 Bucket Key at the - * object-level. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 - * Bucket Keys</a> in the <i>Amazon S3 User Guide</i>.</p> <p> <b>Access Control - * List (ACL)-Specific Request Headers</b> </p> <p>You can use headers to grant - * ACL- based permissions. By default, all objects are private. Only the owner has - * full access control. When adding a new object, you can grant permissions to - * individual AWS accounts or to predefined groups defined by Amazon S3. These - * permissions are then added to the ACL on the object. For more information, see - * <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access - * Control List (ACL) Overview</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html">Managing - * ACLs Using the REST API</a>. </p> <p> <b>Storage Class Options</b> </p> <p>By - * default, Amazon S3 uses the STANDARD Storage Class to store newly created - * objects. The STANDARD storage class provides high durability and high - * availability. Depending on performance needs, you can specify a different - * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For - * more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage - * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> <p> - * <b>Versioning</b> </p> <p>If you enable versioning for a bucket, Amazon S3 - * automatically generates a unique version ID for the object being stored. Amazon - * S3 returns this ID in the response. When you enable versioning for a bucket, if - * Amazon S3 receives multiple write requests for the same object simultaneously, - * it stores all of the objects.</p> <p>For more information about versioning, see - * <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html">Adding - * Objects to Versioning Enabled Buckets</a>. For information about returning the - * versioning state of a bucket, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html">GetBucketVersioning</a>. - * </p> <p class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject">AWS API - * Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for PutObject that returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutObjectOutcomeCallable PutObjectCallable(const Model::PutObjectRequest& request) const; /** - * <p>Adds an object to a bucket. You must have WRITE permissions on a bucket to - * add an object to it.</p> <p>Amazon S3 never adds partial objects; if you receive - * a success response, Amazon S3 added the entire object to the bucket.</p> - * <p>Amazon S3 is a distributed system. If it receives multiple write requests for - * the same object simultaneously, it overwrites all but the last object written. - * Amazon S3 does not provide object locking; if you need this, make sure to build - * it into your application layer or use versioning instead.</p> <p>To ensure that - * data is not corrupted traversing the network, use the <code>Content-MD5</code> - * header. When you use this header, Amazon S3 checks the object against the - * provided MD5 value and, if they do not match, returns an error. Additionally, - * you can calculate the MD5 while putting an object to Amazon S3 and compare the - * returned ETag to the calculated MD5 value.</p> <p> The - * <code>Content-MD5</code> header is required for any request to upload an object - * with a retention period configured using Amazon S3 Object Lock. For more - * information about Amazon S3 Object Lock, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html">Amazon - * S3 Object Lock Overview</a> in the <i>Amazon S3 User Guide</i>. </p> <p> - * <b>Server-side Encryption</b> </p> <p>You can optionally request server-side - * encryption. With server-side encryption, Amazon S3 encrypts your data as it - * writes it to disks in its data centers and decrypts the data when you access it. - * You have the option to provide your own encryption key or use AWS managed - * encryption keys (SSE-S3 or SSE-KMS). For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html">Using - * Server-Side Encryption</a>.</p> <p>If you request server-side encryption using - * AWS Key Management Service (SSE-KMS), you can enable an S3 Bucket Key at the - * object-level. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 - * Bucket Keys</a> in the <i>Amazon S3 User Guide</i>.</p> <p> <b>Access Control - * List (ACL)-Specific Request Headers</b> </p> <p>You can use headers to grant - * ACL- based permissions. By default, all objects are private. Only the owner has - * full access control. When adding a new object, you can grant permissions to - * individual AWS accounts or to predefined groups defined by Amazon S3. These - * permissions are then added to the ACL on the object. For more information, see - * <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access - * Control List (ACL) Overview</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html">Managing - * ACLs Using the REST API</a>. </p> <p> <b>Storage Class Options</b> </p> <p>By - * default, Amazon S3 uses the STANDARD Storage Class to store newly created - * objects. The STANDARD storage class provides high durability and high - * availability. Depending on performance needs, you can specify a different - * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For - * more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage - * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> <p> - * <b>Versioning</b> </p> <p>If you enable versioning for a bucket, Amazon S3 - * automatically generates a unique version ID for the object being stored. Amazon - * S3 returns this ID in the response. When you enable versioning for a bucket, if - * Amazon S3 receives multiple write requests for the same object simultaneously, - * it stores all of the objects.</p> <p>For more information about versioning, see - * <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html">Adding - * Objects to Versioning Enabled Buckets</a>. For information about returning the - * versioning state of a bucket, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html">GetBucketVersioning</a>. - * </p> <p class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject">AWS API - * Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for PutObject that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutObjectAsync(const Model::PutObjectRequest& request, const PutObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; @@ -9052,7 +4538,15 @@ namespace Aws * that updates a bucket ACL using the request body, you can continue to use that * approach. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access - * Control List (ACL) Overview</a> in the <i>Amazon S3 Developer Guide</i>.</p> <p> + * Control List (ACL) Overview</a> in the <i>Amazon S3 User Guide</i>.</p> + * <p>If your bucket uses the bucket owner enforced setting for S3 + * Object Ownership, ACLs are disabled and no longer affect permissions. You must + * use policies to grant access to your bucket and the objects in it. Requests to + * set ACLs or update ACLs fail and return the + * <code>AccessControlListNotSupported</code> error code. Requests to read ACLs are + * still supported. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html">Controlling + * object ownership</a> in the <i>Amazon S3 User Guide</i>.</p> <p> * <b>Access Permissions</b> </p> <p>You can set access permissions using one of * the following methods:</p> <ul> <li> <p>Specify a canned ACL with the * <code>x-amz-acl</code> request header. Amazon S3 supports a set of predefined @@ -9065,33 +4559,36 @@ namespace Aws * <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>, * <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> * headers. When using these headers, you specify explicit access permissions and - * grantees (AWS accounts or Amazon S3 groups) who will receive the permission. If - * you use these ACL-specific headers, you cannot use <code>x-amz-acl</code> header - * to set a canned ACL. These parameters map to the set of permissions that Amazon - * S3 supports in an ACL. For more information, see <a + * grantees (Amazon Web Services accounts or Amazon S3 groups) who will receive the + * permission. If you use these ACL-specific headers, you cannot use + * <code>x-amz-acl</code> header to set a canned ACL. These parameters map to the + * set of permissions that Amazon S3 supports in an ACL. For more information, see + * <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access * Control List (ACL) Overview</a>.</p> <p>You specify each grantee as a type=value * pair, where the type is one of the following:</p> <ul> <li> <p> <code>id</code> - * – if the value specified is the canonical user ID of an AWS account</p> </li> - * <li> <p> <code>uri</code> – if you are granting permissions to a predefined - * group</p> </li> <li> <p> <code>emailAddress</code> – if the value specified is - * the email address of an AWS account</p> <p>Using email addresses to - * specify a grantee is only supported in the following AWS Regions: </p> <ul> <li> - * <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> - * <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> - * <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> - * <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> - * </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * – if the value specified is the canonical user ID of an Amazon Web Services + * account</p> </li> <li> <p> <code>uri</code> – if you are granting permissions to + * a predefined group</p> </li> <li> <p> <code>emailAddress</code> – if the value + * specified is the email address of an Amazon Web Services account</p> + * <p>Using email addresses to specify a grantee is only supported in the following + * Amazon Web Services Regions: </p> <ul> <li> <p>US East (N. Virginia)</p> </li> + * <li> <p>US West (N. California)</p> </li> <li> <p> US West (Oregon)</p> </li> + * <li> <p> Asia Pacific (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> + * </li> <li> <p>Asia Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> + * <li> <p>South America (São Paulo)</p> </li> </ul> <p>For a list of all the + * Amazon S3 supported Regions and endpoints, see <a * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p>For - * example, the following <code>x-amz-grant-read</code> header grants list objects - * permission to the two AWS accounts identified by their email addresses.</p> <p> - * <code>x-amz-grant-read: emailAddress="xyz@amazon.com", - * emailAddress="abc@amazon.com" </code> </p> </li> </ul> <p>You can use either a - * canned ACL or specify access permissions explicitly. You cannot do both.</p> <p> - * <b>Grantee Values</b> </p> <p>You can specify the person (grantee) to whom - * you're assigning access rights (using request elements) in the following - * ways:</p> <ul> <li> <p>By the person's ID:</p> <p> <code><Grantee + * and Endpoints</a> in the Amazon Web Services General Reference.</p> + * </li> </ul> <p>For example, the following <code>x-amz-grant-read</code> header + * grants list objects permission to the two Amazon Web Services accounts + * identified by their email addresses.</p> <p> <code>x-amz-grant-read: + * emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com" </code> </p> </li> + * </ul> <p>You can use either a canned ACL or specify access permissions + * explicitly. You cannot do both.</p> <p> <b>Grantee Values</b> </p> <p>You can + * specify the person (grantee) to whom you're assigning access rights (using + * request elements) in the following ways:</p> <ul> <li> <p>By the person's + * ID:</p> <p> <code><Grantee * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> * </Grantee></code> </p> <p>DisplayName is optional and ignored in the @@ -9103,19 +4600,20 @@ namespace Aws * xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee></code> * </p> <p>The grantee is resolved to the CanonicalUser and, in a response to a GET * Object acl request, appears as the CanonicalUser.</p> <p>Using email - * addresses to specify a grantee is only supported in the following AWS Regions: - * </p> <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. - * California)</p> </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific - * (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia - * Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South - * America (São Paulo)</p> </li> </ul> <p>For a list of all the Amazon S3 supported - * Regions and endpoints, see <a + * addresses to specify a grantee is only supported in the following Amazon Web + * Services Regions: </p> <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US + * West (N. California)</p> </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia + * Pacific (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> + * <p>Asia Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> <li> + * <p>South America (São Paulo)</p> </li> </ul> <p>For a list of all the Amazon S3 + * supported Regions and endpoints, see <a * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p> - * <b>Versioning</b> </p> <p>The ACL of an object is set at the object version - * level. By default, PUT sets the ACL of the current version of an object. To set - * the ACL of a different version, use the <code>versionId</code> subresource.</p> - * <p class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a + * and Endpoints</a> in the Amazon Web Services General Reference.</p> + * </li> </ul> <p> <b>Versioning</b> </p> <p>The ACL of an object is set at the + * object version level. By default, PUT sets the ACL of the current version of an + * object. To set the ACL of a different version, use the <code>versionId</code> + * subresource.</p> <p class="title"> <b>Related Resources</b> </p> <ul> <li> <p> + * <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a> * </p> </li> <li> <p> <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> @@ -9126,183 +4624,25 @@ namespace Aws virtual Model::PutObjectAclOutcome PutObjectAcl(const Model::PutObjectAclRequest& request) const; /** - * <p>Uses the <code>acl</code> subresource to set the access control list (ACL) - * permissions for a new or existing object in an S3 bucket. You must have - * <code>WRITE_ACP</code> permission to set the ACL of an object. For more - * information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#permissions">What - * permissions can I grant?</a> in the <i>Amazon S3 User Guide</i>.</p> <p>This - * action is not supported by Amazon S3 on Outposts.</p> <p>Depending on your - * application needs, you can choose to set the ACL on an object using either the - * request body or the headers. For example, if you have an existing application - * that updates a bucket ACL using the request body, you can continue to use that - * approach. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access - * Control List (ACL) Overview</a> in the <i>Amazon S3 Developer Guide</i>.</p> <p> - * <b>Access Permissions</b> </p> <p>You can set access permissions using one of - * the following methods:</p> <ul> <li> <p>Specify a canned ACL with the - * <code>x-amz-acl</code> request header. Amazon S3 supports a set of predefined - * ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and - * permissions. Specify the canned ACL name as the value of <code>x-amz-ac</code>l. - * If you use this header, you cannot use other access control-specific headers in - * your request. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned - * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly with the - * <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>, - * <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> - * headers. When using these headers, you specify explicit access permissions and - * grantees (AWS accounts or Amazon S3 groups) who will receive the permission. If - * you use these ACL-specific headers, you cannot use <code>x-amz-acl</code> header - * to set a canned ACL. These parameters map to the set of permissions that Amazon - * S3 supports in an ACL. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access - * Control List (ACL) Overview</a>.</p> <p>You specify each grantee as a type=value - * pair, where the type is one of the following:</p> <ul> <li> <p> <code>id</code> - * – if the value specified is the canonical user ID of an AWS account</p> </li> - * <li> <p> <code>uri</code> – if you are granting permissions to a predefined - * group</p> </li> <li> <p> <code>emailAddress</code> – if the value specified is - * the email address of an AWS account</p> <p>Using email addresses to - * specify a grantee is only supported in the following AWS Regions: </p> <ul> <li> - * <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> - * <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> - * <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> - * <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> - * </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a - * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p>For - * example, the following <code>x-amz-grant-read</code> header grants list objects - * permission to the two AWS accounts identified by their email addresses.</p> <p> - * <code>x-amz-grant-read: emailAddress="xyz@amazon.com", - * emailAddress="abc@amazon.com" </code> </p> </li> </ul> <p>You can use either a - * canned ACL or specify access permissions explicitly. You cannot do both.</p> <p> - * <b>Grantee Values</b> </p> <p>You can specify the person (grantee) to whom - * you're assigning access rights (using request elements) in the following - * ways:</p> <ul> <li> <p>By the person's ID:</p> <p> <code><Grantee - * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> - * </Grantee></code> </p> <p>DisplayName is optional and ignored in the - * request.</p> </li> <li> <p>By URI:</p> <p> <code><Grantee - * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - * xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee></code> - * </p> </li> <li> <p>By Email address:</p> <p> <code><Grantee - * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - * xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee></code> - * </p> <p>The grantee is resolved to the CanonicalUser and, in a response to a GET - * Object acl request, appears as the CanonicalUser.</p> <p>Using email - * addresses to specify a grantee is only supported in the following AWS Regions: - * </p> <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. - * California)</p> </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific - * (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia - * Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South - * America (São Paulo)</p> </li> </ul> <p>For a list of all the Amazon S3 supported - * Regions and endpoints, see <a - * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p> - * <b>Versioning</b> </p> <p>The ACL of an object is set at the object version - * level. By default, PUT sets the ACL of the current version of an object. To set - * the ACL of a different version, use the <code>versionId</code> subresource.</p> - * <p class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl">AWS API - * Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for PutObjectAcl that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::PutObjectAclOutcomeCallable PutObjectAclCallable(const Model::PutObjectAclRequest& request) const; + template<typename PutObjectAclRequestT = Model::PutObjectAclRequest> + Model::PutObjectAclOutcomeCallable PutObjectAclCallable(const PutObjectAclRequestT& request) const + { + return SubmitCallable(&S3Client::PutObjectAcl, request); + } /** - * <p>Uses the <code>acl</code> subresource to set the access control list (ACL) - * permissions for a new or existing object in an S3 bucket. You must have - * <code>WRITE_ACP</code> permission to set the ACL of an object. For more - * information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#permissions">What - * permissions can I grant?</a> in the <i>Amazon S3 User Guide</i>.</p> <p>This - * action is not supported by Amazon S3 on Outposts.</p> <p>Depending on your - * application needs, you can choose to set the ACL on an object using either the - * request body or the headers. For example, if you have an existing application - * that updates a bucket ACL using the request body, you can continue to use that - * approach. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access - * Control List (ACL) Overview</a> in the <i>Amazon S3 Developer Guide</i>.</p> <p> - * <b>Access Permissions</b> </p> <p>You can set access permissions using one of - * the following methods:</p> <ul> <li> <p>Specify a canned ACL with the - * <code>x-amz-acl</code> request header. Amazon S3 supports a set of predefined - * ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and - * permissions. Specify the canned ACL name as the value of <code>x-amz-ac</code>l. - * If you use this header, you cannot use other access control-specific headers in - * your request. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned - * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly with the - * <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>, - * <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> - * headers. When using these headers, you specify explicit access permissions and - * grantees (AWS accounts or Amazon S3 groups) who will receive the permission. If - * you use these ACL-specific headers, you cannot use <code>x-amz-acl</code> header - * to set a canned ACL. These parameters map to the set of permissions that Amazon - * S3 supports in an ACL. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access - * Control List (ACL) Overview</a>.</p> <p>You specify each grantee as a type=value - * pair, where the type is one of the following:</p> <ul> <li> <p> <code>id</code> - * – if the value specified is the canonical user ID of an AWS account</p> </li> - * <li> <p> <code>uri</code> – if you are granting permissions to a predefined - * group</p> </li> <li> <p> <code>emailAddress</code> – if the value specified is - * the email address of an AWS account</p> <p>Using email addresses to - * specify a grantee is only supported in the following AWS Regions: </p> <ul> <li> - * <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> - * <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> - * <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> - * <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> - * </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a - * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p>For - * example, the following <code>x-amz-grant-read</code> header grants list objects - * permission to the two AWS accounts identified by their email addresses.</p> <p> - * <code>x-amz-grant-read: emailAddress="xyz@amazon.com", - * emailAddress="abc@amazon.com" </code> </p> </li> </ul> <p>You can use either a - * canned ACL or specify access permissions explicitly. You cannot do both.</p> <p> - * <b>Grantee Values</b> </p> <p>You can specify the person (grantee) to whom - * you're assigning access rights (using request elements) in the following - * ways:</p> <ul> <li> <p>By the person's ID:</p> <p> <code><Grantee - * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> - * </Grantee></code> </p> <p>DisplayName is optional and ignored in the - * request.</p> </li> <li> <p>By URI:</p> <p> <code><Grantee - * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - * xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee></code> - * </p> </li> <li> <p>By Email address:</p> <p> <code><Grantee - * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - * xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee></code> - * </p> <p>The grantee is resolved to the CanonicalUser and, in a response to a GET - * Object acl request, appears as the CanonicalUser.</p> <p>Using email - * addresses to specify a grantee is only supported in the following AWS Regions: - * </p> <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. - * California)</p> </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific - * (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia - * Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South - * America (São Paulo)</p> </li> </ul> <p>For a list of all the Amazon S3 supported - * Regions and endpoints, see <a - * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p> - * <b>Versioning</b> </p> <p>The ACL of an object is set at the object version - * level. By default, PUT sets the ACL of the current version of an object. To set - * the ACL of a different version, use the <code>versionId</code> subresource.</p> - * <p class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl">AWS API - * Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for PutObjectAcl that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void PutObjectAclAsync(const Model::PutObjectAclRequest& request, const PutObjectAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename PutObjectAclRequestT = Model::PutObjectAclRequest> + void PutObjectAclAsync(const PutObjectAclRequestT& request, const PutObjectAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::PutObjectAcl, request, handler, context); + } /** - * <p>Applies a Legal Hold configuration to the specified object. For more + * <p>Applies a legal hold configuration to the specified object. For more * information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking * Objects</a>.</p> <p>This action is not supported by Amazon S3 on @@ -9313,30 +4653,22 @@ namespace Aws virtual Model::PutObjectLegalHoldOutcome PutObjectLegalHold(const Model::PutObjectLegalHoldRequest& request) const; /** - * <p>Applies a Legal Hold configuration to the specified object. For more - * information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking - * Objects</a>.</p> <p>This action is not supported by Amazon S3 on - * Outposts.</p><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLegalHold">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for PutObjectLegalHold that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::PutObjectLegalHoldOutcomeCallable PutObjectLegalHoldCallable(const Model::PutObjectLegalHoldRequest& request) const; + template<typename PutObjectLegalHoldRequestT = Model::PutObjectLegalHoldRequest> + Model::PutObjectLegalHoldOutcomeCallable PutObjectLegalHoldCallable(const PutObjectLegalHoldRequestT& request) const + { + return SubmitCallable(&S3Client::PutObjectLegalHold, request); + } /** - * <p>Applies a Legal Hold configuration to the specified object. For more - * information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking - * Objects</a>.</p> <p>This action is not supported by Amazon S3 on - * Outposts.</p><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLegalHold">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for PutObjectLegalHold that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void PutObjectLegalHoldAsync(const Model::PutObjectLegalHoldRequest& request, const PutObjectLegalHoldResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename PutObjectLegalHoldRequestT = Model::PutObjectLegalHoldRequest> + void PutObjectLegalHoldAsync(const PutObjectLegalHoldRequestT& request, const PutObjectLegalHoldResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::PutObjectLegalHold, request, handler, context); + } /** * <p>Places an Object Lock configuration on the specified bucket. The rule @@ -9349,86 +4681,62 @@ namespace Aws * <code>Years</code> but you must select one. You cannot specify <code>Days</code> * and <code>Years</code> at the same time.</p> </li> <li> <p>You can only enable * Object Lock for new buckets. If you want to turn on Object Lock for an existing - * bucket, contact AWS Support.</p> </li> </ul> <p><h3>See Also:</h3> <a + * bucket, contact Amazon Web Services Support.</p> </li> </ul> <p><h3>See + * Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLockConfiguration">AWS * API Reference</a></p> */ virtual Model::PutObjectLockConfigurationOutcome PutObjectLockConfiguration(const Model::PutObjectLockConfigurationRequest& request) const; /** - * <p>Places an Object Lock configuration on the specified bucket. The rule - * specified in the Object Lock configuration will be applied by default to every - * new object placed in the specified bucket. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking - * Objects</a>. </p> <ul> <li> <p>The <code>DefaultRetention</code> settings - * require both a mode and a period.</p> </li> <li> <p>The - * <code>DefaultRetention</code> period can be either <code>Days</code> or - * <code>Years</code> but you must select one. You cannot specify <code>Days</code> - * and <code>Years</code> at the same time.</p> </li> <li> <p>You can only enable - * Object Lock for new buckets. If you want to turn on Object Lock for an existing - * bucket, contact AWS Support.</p> </li> </ul> <p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLockConfiguration">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for PutObjectLockConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::PutObjectLockConfigurationOutcomeCallable PutObjectLockConfigurationCallable(const Model::PutObjectLockConfigurationRequest& request) const; + template<typename PutObjectLockConfigurationRequestT = Model::PutObjectLockConfigurationRequest> + Model::PutObjectLockConfigurationOutcomeCallable PutObjectLockConfigurationCallable(const PutObjectLockConfigurationRequestT& request) const + { + return SubmitCallable(&S3Client::PutObjectLockConfiguration, request); + } /** - * <p>Places an Object Lock configuration on the specified bucket. The rule - * specified in the Object Lock configuration will be applied by default to every - * new object placed in the specified bucket. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking - * Objects</a>. </p> <ul> <li> <p>The <code>DefaultRetention</code> settings - * require both a mode and a period.</p> </li> <li> <p>The - * <code>DefaultRetention</code> period can be either <code>Days</code> or - * <code>Years</code> but you must select one. You cannot specify <code>Days</code> - * and <code>Years</code> at the same time.</p> </li> <li> <p>You can only enable - * Object Lock for new buckets. If you want to turn on Object Lock for an existing - * bucket, contact AWS Support.</p> </li> </ul> <p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLockConfiguration">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for PutObjectLockConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void PutObjectLockConfigurationAsync(const Model::PutObjectLockConfigurationRequest& request, const PutObjectLockConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename PutObjectLockConfigurationRequestT = Model::PutObjectLockConfigurationRequest> + void PutObjectLockConfigurationAsync(const PutObjectLockConfigurationRequestT& request, const PutObjectLockConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::PutObjectLockConfiguration, request, handler, context); + } /** * <p>Places an Object Retention configuration on an object. For more information, * see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking - * Objects</a>. </p> <p>This action is not supported by Amazon S3 on - * Outposts.</p><p><h3>See Also:</h3> <a + * Objects</a>. Users or accounts require the <code>s3:PutObjectRetention</code> + * permission in order to place an Object Retention configuration on objects. + * Bypassing a Governance Retention configuration requires the + * <code>s3:BypassGovernanceRetention</code> permission. </p> <p>This action is not + * supported by Amazon S3 on Outposts.</p><p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRetention">AWS * API Reference</a></p> */ virtual Model::PutObjectRetentionOutcome PutObjectRetention(const Model::PutObjectRetentionRequest& request) const; /** - * <p>Places an Object Retention configuration on an object. For more information, - * see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking - * Objects</a>. </p> <p>This action is not supported by Amazon S3 on - * Outposts.</p><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRetention">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for PutObjectRetention that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::PutObjectRetentionOutcomeCallable PutObjectRetentionCallable(const Model::PutObjectRetentionRequest& request) const; + template<typename PutObjectRetentionRequestT = Model::PutObjectRetentionRequest> + Model::PutObjectRetentionOutcomeCallable PutObjectRetentionCallable(const PutObjectRetentionRequestT& request) const + { + return SubmitCallable(&S3Client::PutObjectRetention, request); + } /** - * <p>Places an Object Retention configuration on an object. For more information, - * see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking - * Objects</a>. </p> <p>This action is not supported by Amazon S3 on - * Outposts.</p><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRetention">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for PutObjectRetention that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void PutObjectRetentionAsync(const Model::PutObjectRetentionRequest& request, const PutObjectRetentionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename PutObjectRetentionRequestT = Model::PutObjectRetentionRequest> + void PutObjectRetentionAsync(const PutObjectRetentionRequestT& request, const PutObjectRetentionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::PutObjectRetention, request, handler, context); + } /** * <p>Sets the supplied tag-set to an object that already exists in a bucket.</p> @@ -9470,86 +4778,22 @@ namespace Aws virtual Model::PutObjectTaggingOutcome PutObjectTagging(const Model::PutObjectTaggingRequest& request) const; /** - * <p>Sets the supplied tag-set to an object that already exists in a bucket.</p> - * <p>A tag is a key-value pair. You can associate tags with an object by sending a - * PUT request against the tagging subresource that is associated with the object. - * You can retrieve tags by sending a GET request. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a>.</p> - * <p>For tagging-related restrictions related to characters and encodings, see <a - * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html">Tag - * Restrictions</a>. Note that Amazon S3 limits the maximum number of tags to 10 - * tags per object.</p> <p>To use this operation, you must have permission to - * perform the <code>s3:PutObjectTagging</code> action. By default, the bucket - * owner has this permission and can grant this permission to others.</p> <p>To put - * tags of any other version, use the <code>versionId</code> query parameter. You - * also need permission for the <code>s3:PutObjectVersionTagging</code> action.</p> - * <p>For information about the Amazon S3 object tagging feature, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html">Object - * Tagging</a>.</p> <p class="title"> <b>Special Errors</b> </p> <ul> <li> <ul> - * <li> <p> <i>Code: InvalidTagError </i> </p> </li> <li> <p> <i>Cause: The tag - * provided was not a valid tag. This error can occur if the tag did not pass input - * validation. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html">Object - * Tagging</a>.</i> </p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code: - * MalformedXMLError </i> </p> </li> <li> <p> <i>Cause: The XML provided does not - * match the schema.</i> </p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code: - * OperationAbortedError </i> </p> </li> <li> <p> <i>Cause: A conflicting - * conditional action is currently in progress against this resource. Please try - * again.</i> </p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code: InternalError</i> - * </p> </li> <li> <p> <i>Cause: The service was unable to apply the provided tag - * to the object.</i> </p> </li> </ul> </li> </ul> <p class="title"> <b>Related - * Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html">DeleteObjectTagging</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for PutObjectTagging that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::PutObjectTaggingOutcomeCallable PutObjectTaggingCallable(const Model::PutObjectTaggingRequest& request) const; + template<typename PutObjectTaggingRequestT = Model::PutObjectTaggingRequest> + Model::PutObjectTaggingOutcomeCallable PutObjectTaggingCallable(const PutObjectTaggingRequestT& request) const + { + return SubmitCallable(&S3Client::PutObjectTagging, request); + } /** - * <p>Sets the supplied tag-set to an object that already exists in a bucket.</p> - * <p>A tag is a key-value pair. You can associate tags with an object by sending a - * PUT request against the tagging subresource that is associated with the object. - * You can retrieve tags by sending a GET request. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a>.</p> - * <p>For tagging-related restrictions related to characters and encodings, see <a - * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html">Tag - * Restrictions</a>. Note that Amazon S3 limits the maximum number of tags to 10 - * tags per object.</p> <p>To use this operation, you must have permission to - * perform the <code>s3:PutObjectTagging</code> action. By default, the bucket - * owner has this permission and can grant this permission to others.</p> <p>To put - * tags of any other version, use the <code>versionId</code> query parameter. You - * also need permission for the <code>s3:PutObjectVersionTagging</code> action.</p> - * <p>For information about the Amazon S3 object tagging feature, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html">Object - * Tagging</a>.</p> <p class="title"> <b>Special Errors</b> </p> <ul> <li> <ul> - * <li> <p> <i>Code: InvalidTagError </i> </p> </li> <li> <p> <i>Cause: The tag - * provided was not a valid tag. This error can occur if the tag did not pass input - * validation. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html">Object - * Tagging</a>.</i> </p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code: - * MalformedXMLError </i> </p> </li> <li> <p> <i>Cause: The XML provided does not - * match the schema.</i> </p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code: - * OperationAbortedError </i> </p> </li> <li> <p> <i>Cause: A conflicting - * conditional action is currently in progress against this resource. Please try - * again.</i> </p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code: InternalError</i> - * </p> </li> <li> <p> <i>Cause: The service was unable to apply the provided tag - * to the object.</i> </p> </li> </ul> </li> </ul> <p class="title"> <b>Related - * Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html">DeleteObjectTagging</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for PutObjectTagging that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void PutObjectTaggingAsync(const Model::PutObjectTaggingRequest& request, const PutObjectTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename PutObjectTaggingRequestT = Model::PutObjectTaggingRequest> + void PutObjectTaggingAsync(const PutObjectTaggingRequestT& request, const PutObjectTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::PutObjectTagging, request, handler, context); + } /** * <p>Creates or modifies the <code>PublicAccessBlock</code> configuration for an @@ -9582,68 +4826,22 @@ namespace Aws virtual Model::PutPublicAccessBlockOutcome PutPublicAccessBlock(const Model::PutPublicAccessBlockRequest& request) const; /** - * <p>Creates or modifies the <code>PublicAccessBlock</code> configuration for an - * Amazon S3 bucket. To use this operation, you must have the - * <code>s3:PutBucketPublicAccessBlock</code> permission. For more information - * about Amazon S3 permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying - * Permissions in a Policy</a>.</p> <p>When Amazon S3 evaluates the - * <code>PublicAccessBlock</code> configuration for a bucket or an object, it - * checks the <code>PublicAccessBlock</code> configuration for both the bucket (or - * the bucket that contains the object) and the bucket owner's account. If the - * <code>PublicAccessBlock</code> configurations are different between the bucket - * and the account, Amazon S3 uses the most restrictive combination of the - * bucket-level and account-level settings.</p> <p>For more - * information about when Amazon S3 considers a bucket or an object public, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status">The - * Meaning of "Public"</a>.</p> <p class="title"> <b>Related Resources</b> </p> - * <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html">GetPublicAccessBlock</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html">DeletePublicAccessBlock</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html">GetBucketPolicyStatus</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using - * Amazon S3 Block Public Access</a> </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutPublicAccessBlock">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for PutPublicAccessBlock that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::PutPublicAccessBlockOutcomeCallable PutPublicAccessBlockCallable(const Model::PutPublicAccessBlockRequest& request) const; + template<typename PutPublicAccessBlockRequestT = Model::PutPublicAccessBlockRequest> + Model::PutPublicAccessBlockOutcomeCallable PutPublicAccessBlockCallable(const PutPublicAccessBlockRequestT& request) const + { + return SubmitCallable(&S3Client::PutPublicAccessBlock, request); + } /** - * <p>Creates or modifies the <code>PublicAccessBlock</code> configuration for an - * Amazon S3 bucket. To use this operation, you must have the - * <code>s3:PutBucketPublicAccessBlock</code> permission. For more information - * about Amazon S3 permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying - * Permissions in a Policy</a>.</p> <p>When Amazon S3 evaluates the - * <code>PublicAccessBlock</code> configuration for a bucket or an object, it - * checks the <code>PublicAccessBlock</code> configuration for both the bucket (or - * the bucket that contains the object) and the bucket owner's account. If the - * <code>PublicAccessBlock</code> configurations are different between the bucket - * and the account, Amazon S3 uses the most restrictive combination of the - * bucket-level and account-level settings.</p> <p>For more - * information about when Amazon S3 considers a bucket or an object public, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status">The - * Meaning of "Public"</a>.</p> <p class="title"> <b>Related Resources</b> </p> - * <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html">GetPublicAccessBlock</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html">DeletePublicAccessBlock</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html">GetBucketPolicyStatus</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using - * Amazon S3 Block Public Access</a> </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutPublicAccessBlock">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for PutPublicAccessBlock that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void PutPublicAccessBlockAsync(const Model::PutPublicAccessBlockRequest& request, const PutPublicAccessBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename PutPublicAccessBlockRequestT = Model::PutPublicAccessBlockRequest> + void PutPublicAccessBlockAsync(const PutPublicAccessBlockRequestT& request, const PutPublicAccessBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::PutPublicAccessBlock, request, handler, context); + } /** * <p>Restores an archived copy of an object back into Amazon S3</p> <p>This action @@ -9668,11 +4866,12 @@ namespace Aws * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/querying-glacier-archives.html">Querying * Archived Objects</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When making a * select request, do the following:</p> <ul> <li> <p>Define an output location for - * the select query's output. This must be an Amazon S3 bucket in the same AWS - * Region as the bucket that contains the archive object that is being queried. The - * AWS account that initiates the job must have permissions to write to the S3 - * bucket. You can specify the storage class and encryption for the output objects - * stored in the bucket. For more information about output, see <a + * the select query's output. This must be an Amazon S3 bucket in the same Amazon + * Web Services Region as the bucket that contains the archive object that is being + * queried. The Amazon Web Services account that initiates the job must have + * permissions to write to the S3 bucket. You can specify the storage class and + * encryption for the output objects stored in the bucket. For more information + * about output, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/querying-glacier-archives.html">Querying * Archived Objects</a> in the <i>Amazon S3 User Guide</i>.</p> <p>For more * information about the <code>S3</code> structure in the request body, see the @@ -9726,33 +4925,33 @@ namespace Aws * version ID. If you don't provide a version ID, Amazon S3 restores the current * version.</p> <p>When restoring an archived object (or using a select request), * you can specify one of the following data access tier options in the - * <code>Tier</code> element of the request body: </p> <ul> <li> <p> <b> - * <code>Expedited</code> </b> - Expedited retrievals allow you to quickly access - * your data stored in the S3 Glacier storage class or S3 Intelligent-Tiering - * Archive tier when occasional urgent requests for a subset of archives are - * required. For all but the largest archived objects (250 MB+), data accessed - * using Expedited retrievals is typically made available within 1–5 minutes. - * Provisioned capacity ensures that retrieval capacity for Expedited retrievals is - * available when you need it. Expedited retrievals and provisioned capacity are - * not available for objects stored in the S3 Glacier Deep Archive storage class or - * S3 Intelligent-Tiering Deep Archive tier.</p> </li> <li> <p> <b> - * <code>Standard</code> </b> - Standard retrievals allow you to access any of your - * archived objects within several hours. This is the default option for retrieval - * requests that do not specify the retrieval option. Standard retrievals typically - * finish within 3–5 hours for objects stored in the S3 Glacier storage class or S3 + * <code>Tier</code> element of the request body: </p> <ul> <li> <p> + * <code>Expedited</code> - Expedited retrievals allow you to quickly access your + * data stored in the S3 Glacier storage class or S3 Intelligent-Tiering Archive + * tier when occasional urgent requests for a subset of archives are required. For + * all but the largest archived objects (250 MB+), data accessed using Expedited + * retrievals is typically made available within 1–5 minutes. Provisioned capacity + * ensures that retrieval capacity for Expedited retrievals is available when you + * need it. Expedited retrievals and provisioned capacity are not available for + * objects stored in the S3 Glacier Deep Archive storage class or S3 + * Intelligent-Tiering Deep Archive tier.</p> </li> <li> <p> <code>Standard</code> + * - Standard retrievals allow you to access any of your archived objects within + * several hours. This is the default option for retrieval requests that do not + * specify the retrieval option. Standard retrievals typically finish within 3–5 + * hours for objects stored in the S3 Glacier storage class or S3 * Intelligent-Tiering Archive tier. They typically finish within 12 hours for * objects stored in the S3 Glacier Deep Archive storage class or S3 * Intelligent-Tiering Deep Archive tier. Standard retrievals are free for objects - * stored in S3 Intelligent-Tiering.</p> </li> <li> <p> <b> <code>Bulk</code> </b> - * - Bulk retrievals are the lowest-cost retrieval option in S3 Glacier, enabling - * you to retrieve large amounts, even petabytes, of data inexpensively. Bulk - * retrievals typically finish within 5–12 hours for objects stored in the S3 - * Glacier storage class or S3 Intelligent-Tiering Archive tier. They typically - * finish within 48 hours for objects stored in the S3 Glacier Deep Archive storage - * class or S3 Intelligent-Tiering Deep Archive tier. Bulk retrievals are free for - * objects stored in S3 Intelligent-Tiering.</p> </li> </ul> <p>For more - * information about archive retrieval options and provisioned capacity for - * <code>Expedited</code> data access, see <a + * stored in S3 Intelligent-Tiering.</p> </li> <li> <p> <code>Bulk</code> - Bulk + * retrievals are the lowest-cost retrieval option in S3 Glacier, enabling you to + * retrieve large amounts, even petabytes, of data inexpensively. Bulk retrievals + * typically finish within 5–12 hours for objects stored in the S3 Glacier storage + * class or S3 Intelligent-Tiering Archive tier. They typically finish within 48 + * hours for objects stored in the S3 Glacier Deep Archive storage class or S3 + * Intelligent-Tiering Deep Archive tier. Bulk retrievals are free for objects + * stored in S3 Intelligent-Tiering.</p> </li> </ul> <p>For more information about + * archive retrieval options and provisioned capacity for <code>Expedited</code> + * data access, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html">Restoring * Archived Objects</a> in the <i>Amazon S3 User Guide</i>. </p> <p>You can use * Amazon S3 restore speed upgrade to change the restore speed to a faster speed @@ -9810,336 +5009,22 @@ namespace Aws virtual Model::RestoreObjectOutcome RestoreObject(const Model::RestoreObjectRequest& request) const; /** - * <p>Restores an archived copy of an object back into Amazon S3</p> <p>This action - * is not supported by Amazon S3 on Outposts.</p> <p>This action performs the - * following types of requests: </p> <ul> <li> <p> <code>select</code> - Perform a - * select query on an archived object</p> </li> <li> <p> <code>restore an - * archive</code> - Restore an archived object</p> </li> </ul> <p>To use this - * operation, you must have permissions to perform the - * <code>s3:RestoreObject</code> action. The bucket owner has this permission by - * default and can grant this permission to others. For more information about - * permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a> in the <i>Amazon S3 User - * Guide</i>.</p> <p> <b>Querying Archives with Select Requests</b> </p> <p>You use - * a select type of request to perform SQL queries on archived objects. The - * archived objects that are being queried by the select request must be formatted - * as uncompressed comma-separated values (CSV) files. You can run queries and - * custom analytics on your archived data without having to restore your data to a - * hotter Amazon S3 tier. For an overview about select requests, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/querying-glacier-archives.html">Querying - * Archived Objects</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When making a - * select request, do the following:</p> <ul> <li> <p>Define an output location for - * the select query's output. This must be an Amazon S3 bucket in the same AWS - * Region as the bucket that contains the archive object that is being queried. The - * AWS account that initiates the job must have permissions to write to the S3 - * bucket. You can specify the storage class and encryption for the output objects - * stored in the bucket. For more information about output, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/querying-glacier-archives.html">Querying - * Archived Objects</a> in the <i>Amazon S3 User Guide</i>.</p> <p>For more - * information about the <code>S3</code> structure in the request body, see the - * following:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Managing - * Access with ACLs</a> in the <i>Amazon S3 User Guide</i> </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting - * Data Using Server-Side Encryption</a> in the <i>Amazon S3 User Guide</i> </p> - * </li> </ul> </li> <li> <p>Define the SQL expression for the <code>SELECT</code> - * type of restoration for your query in the request body's - * <code>SelectParameters</code> structure. You can use expressions like the - * following examples.</p> <ul> <li> <p>The following expression returns all - * records from the specified object.</p> <p> <code>SELECT * FROM Object</code> - * </p> </li> <li> <p>Assuming that you are not using any headers for data stored - * in the object, you can specify columns with positional headers.</p> <p> - * <code>SELECT s._1, s._2 FROM Object s WHERE s._3 > 100</code> </p> </li> <li> - * <p>If you have headers and you set the <code>fileHeaderInfo</code> in the - * <code>CSV</code> structure in the request body to <code>USE</code>, you can - * specify headers in the query. (If you set the <code>fileHeaderInfo</code> field - * to <code>IGNORE</code>, the first row is skipped for the query.) You cannot mix - * ordinal positions with header column names. </p> <p> <code>SELECT s.Id, - * s.FirstName, s.SSN FROM S3Object s</code> </p> </li> </ul> </li> </ul> <p>For - * more information about using SQL with S3 Glacier Select restore, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html">SQL - * Reference for Amazon S3 Select and S3 Glacier Select</a> in the <i>Amazon S3 - * User Guide</i>. </p> <p>When making a select request, you can also do the - * following:</p> <ul> <li> <p>To expedite your queries, specify the - * <code>Expedited</code> tier. For more information about tiers, see "Restoring - * Archives," later in this topic.</p> </li> <li> <p>Specify details about the data - * serialization format of both the input object that is being queried and the - * serialization of the CSV-encoded query results.</p> </li> </ul> <p>The following - * are additional important facts about the select feature:</p> <ul> <li> <p>The - * output results are new Amazon S3 objects. Unlike archive retrievals, they are - * stored until explicitly deleted-manually or through a lifecycle policy.</p> - * </li> <li> <p>You can issue more than one select request on the same Amazon S3 - * object. Amazon S3 doesn't deduplicate requests, so avoid issuing duplicate - * requests.</p> </li> <li> <p> Amazon S3 accepts a select request even if the - * object has already been restored. A select request doesn’t return error response - * <code>409</code>.</p> </li> </ul> <p> <b>Restoring objects</b> </p> <p>Objects - * that you archive to the S3 Glacier or S3 Glacier Deep Archive storage class, and - * S3 Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive tiers are - * not accessible in real time. For objects in Archive Access or Deep Archive - * Access tiers you must first initiate a restore request, and then wait until the - * object is moved into the Frequent Access tier. For objects in S3 Glacier or S3 - * Glacier Deep Archive storage classes you must first initiate a restore request, - * and then wait until a temporary copy of the object is available. To access an - * archived object, you must restore the object for the duration (number of days) - * that you specify.</p> <p>To restore a specific object version, you can provide a - * version ID. If you don't provide a version ID, Amazon S3 restores the current - * version.</p> <p>When restoring an archived object (or using a select request), - * you can specify one of the following data access tier options in the - * <code>Tier</code> element of the request body: </p> <ul> <li> <p> <b> - * <code>Expedited</code> </b> - Expedited retrievals allow you to quickly access - * your data stored in the S3 Glacier storage class or S3 Intelligent-Tiering - * Archive tier when occasional urgent requests for a subset of archives are - * required. For all but the largest archived objects (250 MB+), data accessed - * using Expedited retrievals is typically made available within 1–5 minutes. - * Provisioned capacity ensures that retrieval capacity for Expedited retrievals is - * available when you need it. Expedited retrievals and provisioned capacity are - * not available for objects stored in the S3 Glacier Deep Archive storage class or - * S3 Intelligent-Tiering Deep Archive tier.</p> </li> <li> <p> <b> - * <code>Standard</code> </b> - Standard retrievals allow you to access any of your - * archived objects within several hours. This is the default option for retrieval - * requests that do not specify the retrieval option. Standard retrievals typically - * finish within 3–5 hours for objects stored in the S3 Glacier storage class or S3 - * Intelligent-Tiering Archive tier. They typically finish within 12 hours for - * objects stored in the S3 Glacier Deep Archive storage class or S3 - * Intelligent-Tiering Deep Archive tier. Standard retrievals are free for objects - * stored in S3 Intelligent-Tiering.</p> </li> <li> <p> <b> <code>Bulk</code> </b> - * - Bulk retrievals are the lowest-cost retrieval option in S3 Glacier, enabling - * you to retrieve large amounts, even petabytes, of data inexpensively. Bulk - * retrievals typically finish within 5–12 hours for objects stored in the S3 - * Glacier storage class or S3 Intelligent-Tiering Archive tier. They typically - * finish within 48 hours for objects stored in the S3 Glacier Deep Archive storage - * class or S3 Intelligent-Tiering Deep Archive tier. Bulk retrievals are free for - * objects stored in S3 Intelligent-Tiering.</p> </li> </ul> <p>For more - * information about archive retrieval options and provisioned capacity for - * <code>Expedited</code> data access, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html">Restoring - * Archived Objects</a> in the <i>Amazon S3 User Guide</i>. </p> <p>You can use - * Amazon S3 restore speed upgrade to change the restore speed to a faster speed - * while it is in progress. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html#restoring-objects-upgrade-tier.title.html"> - * Upgrading the speed of an in-progress restore</a> in the <i>Amazon S3 User - * Guide</i>. </p> <p>To get the status of object restoration, you can send a - * <code>HEAD</code> request. Operations return the <code>x-amz-restore</code> - * header, which provides information about the restoration status, in the - * response. You can use Amazon S3 event notifications to notify you when a restore - * is initiated or completed. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring - * Amazon S3 Event Notifications</a> in the <i>Amazon S3 User Guide</i>.</p> - * <p>After restoring an archived object, you can update the restoration period by - * reissuing the request with a new period. Amazon S3 updates the restoration - * period relative to the current time and charges only for the request-there are - * no data transfer charges. You cannot update the restoration period when Amazon - * S3 is actively processing your current restore request for the object.</p> <p>If - * your bucket has a lifecycle configuration with a rule that includes an - * expiration action, the object expiration overrides the life span that you - * specify in a restore request. For example, if you restore an object copy for 10 - * days, but the object is scheduled to expire in 3 days, Amazon S3 deletes the - * object in 3 days. For more information about lifecycle configuration, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a> - * and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object - * Lifecycle Management</a> in <i>Amazon S3 User Guide</i>.</p> <p> - * <b>Responses</b> </p> <p>A successful action returns either the <code>200 - * OK</code> or <code>202 Accepted</code> status code. </p> <ul> <li> <p>If the - * object is not previously restored, then Amazon S3 returns <code>202 - * Accepted</code> in the response. </p> </li> <li> <p>If the object is previously - * restored, Amazon S3 returns <code>200 OK</code> in the response. </p> </li> - * </ul> <p class="title"> <b>Special Errors</b> </p> <ul> <li> <ul> <li> <p> - * <i>Code: RestoreAlreadyInProgress</i> </p> </li> <li> <p> <i>Cause: Object - * restore is already in progress. (This error does not apply to SELECT type - * requests.)</i> </p> </li> <li> <p> <i>HTTP Status Code: 409 Conflict</i> </p> - * </li> <li> <p> <i>SOAP Fault Code Prefix: Client</i> </p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code: GlacierExpeditedRetrievalNotAvailable</i> </p> </li> <li> - * <p> <i>Cause: expedited retrievals are currently not available. Try again later. - * (Returned if there is insufficient capacity to process the Expedited request. - * This error applies only to Expedited retrievals and not to S3 Standard or Bulk - * retrievals.)</i> </p> </li> <li> <p> <i>HTTP Status Code: 503</i> </p> </li> - * <li> <p> <i>SOAP Fault Code Prefix: N/A</i> </p> </li> </ul> </li> </ul> <p - * class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html">GetBucketNotificationConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html">SQL - * Reference for Amazon S3 Select and S3 Glacier Select </a> in the <i>Amazon S3 - * User Guide</i> </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for RestoreObject that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::RestoreObjectOutcomeCallable RestoreObjectCallable(const Model::RestoreObjectRequest& request) const; + template<typename RestoreObjectRequestT = Model::RestoreObjectRequest> + Model::RestoreObjectOutcomeCallable RestoreObjectCallable(const RestoreObjectRequestT& request) const + { + return SubmitCallable(&S3Client::RestoreObject, request); + } /** - * <p>Restores an archived copy of an object back into Amazon S3</p> <p>This action - * is not supported by Amazon S3 on Outposts.</p> <p>This action performs the - * following types of requests: </p> <ul> <li> <p> <code>select</code> - Perform a - * select query on an archived object</p> </li> <li> <p> <code>restore an - * archive</code> - Restore an archived object</p> </li> </ul> <p>To use this - * operation, you must have permissions to perform the - * <code>s3:RestoreObject</code> action. The bucket owner has this permission by - * default and can grant this permission to others. For more information about - * permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions - * Related to Bucket Subresource Operations</a> and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing - * Access Permissions to Your Amazon S3 Resources</a> in the <i>Amazon S3 User - * Guide</i>.</p> <p> <b>Querying Archives with Select Requests</b> </p> <p>You use - * a select type of request to perform SQL queries on archived objects. The - * archived objects that are being queried by the select request must be formatted - * as uncompressed comma-separated values (CSV) files. You can run queries and - * custom analytics on your archived data without having to restore your data to a - * hotter Amazon S3 tier. For an overview about select requests, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/querying-glacier-archives.html">Querying - * Archived Objects</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When making a - * select request, do the following:</p> <ul> <li> <p>Define an output location for - * the select query's output. This must be an Amazon S3 bucket in the same AWS - * Region as the bucket that contains the archive object that is being queried. The - * AWS account that initiates the job must have permissions to write to the S3 - * bucket. You can specify the storage class and encryption for the output objects - * stored in the bucket. For more information about output, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/querying-glacier-archives.html">Querying - * Archived Objects</a> in the <i>Amazon S3 User Guide</i>.</p> <p>For more - * information about the <code>S3</code> structure in the request body, see the - * following:</p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Managing - * Access with ACLs</a> in the <i>Amazon S3 User Guide</i> </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting - * Data Using Server-Side Encryption</a> in the <i>Amazon S3 User Guide</i> </p> - * </li> </ul> </li> <li> <p>Define the SQL expression for the <code>SELECT</code> - * type of restoration for your query in the request body's - * <code>SelectParameters</code> structure. You can use expressions like the - * following examples.</p> <ul> <li> <p>The following expression returns all - * records from the specified object.</p> <p> <code>SELECT * FROM Object</code> - * </p> </li> <li> <p>Assuming that you are not using any headers for data stored - * in the object, you can specify columns with positional headers.</p> <p> - * <code>SELECT s._1, s._2 FROM Object s WHERE s._3 > 100</code> </p> </li> <li> - * <p>If you have headers and you set the <code>fileHeaderInfo</code> in the - * <code>CSV</code> structure in the request body to <code>USE</code>, you can - * specify headers in the query. (If you set the <code>fileHeaderInfo</code> field - * to <code>IGNORE</code>, the first row is skipped for the query.) You cannot mix - * ordinal positions with header column names. </p> <p> <code>SELECT s.Id, - * s.FirstName, s.SSN FROM S3Object s</code> </p> </li> </ul> </li> </ul> <p>For - * more information about using SQL with S3 Glacier Select restore, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html">SQL - * Reference for Amazon S3 Select and S3 Glacier Select</a> in the <i>Amazon S3 - * User Guide</i>. </p> <p>When making a select request, you can also do the - * following:</p> <ul> <li> <p>To expedite your queries, specify the - * <code>Expedited</code> tier. For more information about tiers, see "Restoring - * Archives," later in this topic.</p> </li> <li> <p>Specify details about the data - * serialization format of both the input object that is being queried and the - * serialization of the CSV-encoded query results.</p> </li> </ul> <p>The following - * are additional important facts about the select feature:</p> <ul> <li> <p>The - * output results are new Amazon S3 objects. Unlike archive retrievals, they are - * stored until explicitly deleted-manually or through a lifecycle policy.</p> - * </li> <li> <p>You can issue more than one select request on the same Amazon S3 - * object. Amazon S3 doesn't deduplicate requests, so avoid issuing duplicate - * requests.</p> </li> <li> <p> Amazon S3 accepts a select request even if the - * object has already been restored. A select request doesn’t return error response - * <code>409</code>.</p> </li> </ul> <p> <b>Restoring objects</b> </p> <p>Objects - * that you archive to the S3 Glacier or S3 Glacier Deep Archive storage class, and - * S3 Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive tiers are - * not accessible in real time. For objects in Archive Access or Deep Archive - * Access tiers you must first initiate a restore request, and then wait until the - * object is moved into the Frequent Access tier. For objects in S3 Glacier or S3 - * Glacier Deep Archive storage classes you must first initiate a restore request, - * and then wait until a temporary copy of the object is available. To access an - * archived object, you must restore the object for the duration (number of days) - * that you specify.</p> <p>To restore a specific object version, you can provide a - * version ID. If you don't provide a version ID, Amazon S3 restores the current - * version.</p> <p>When restoring an archived object (or using a select request), - * you can specify one of the following data access tier options in the - * <code>Tier</code> element of the request body: </p> <ul> <li> <p> <b> - * <code>Expedited</code> </b> - Expedited retrievals allow you to quickly access - * your data stored in the S3 Glacier storage class or S3 Intelligent-Tiering - * Archive tier when occasional urgent requests for a subset of archives are - * required. For all but the largest archived objects (250 MB+), data accessed - * using Expedited retrievals is typically made available within 1–5 minutes. - * Provisioned capacity ensures that retrieval capacity for Expedited retrievals is - * available when you need it. Expedited retrievals and provisioned capacity are - * not available for objects stored in the S3 Glacier Deep Archive storage class or - * S3 Intelligent-Tiering Deep Archive tier.</p> </li> <li> <p> <b> - * <code>Standard</code> </b> - Standard retrievals allow you to access any of your - * archived objects within several hours. This is the default option for retrieval - * requests that do not specify the retrieval option. Standard retrievals typically - * finish within 3–5 hours for objects stored in the S3 Glacier storage class or S3 - * Intelligent-Tiering Archive tier. They typically finish within 12 hours for - * objects stored in the S3 Glacier Deep Archive storage class or S3 - * Intelligent-Tiering Deep Archive tier. Standard retrievals are free for objects - * stored in S3 Intelligent-Tiering.</p> </li> <li> <p> <b> <code>Bulk</code> </b> - * - Bulk retrievals are the lowest-cost retrieval option in S3 Glacier, enabling - * you to retrieve large amounts, even petabytes, of data inexpensively. Bulk - * retrievals typically finish within 5–12 hours for objects stored in the S3 - * Glacier storage class or S3 Intelligent-Tiering Archive tier. They typically - * finish within 48 hours for objects stored in the S3 Glacier Deep Archive storage - * class or S3 Intelligent-Tiering Deep Archive tier. Bulk retrievals are free for - * objects stored in S3 Intelligent-Tiering.</p> </li> </ul> <p>For more - * information about archive retrieval options and provisioned capacity for - * <code>Expedited</code> data access, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html">Restoring - * Archived Objects</a> in the <i>Amazon S3 User Guide</i>. </p> <p>You can use - * Amazon S3 restore speed upgrade to change the restore speed to a faster speed - * while it is in progress. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html#restoring-objects-upgrade-tier.title.html"> - * Upgrading the speed of an in-progress restore</a> in the <i>Amazon S3 User - * Guide</i>. </p> <p>To get the status of object restoration, you can send a - * <code>HEAD</code> request. Operations return the <code>x-amz-restore</code> - * header, which provides information about the restoration status, in the - * response. You can use Amazon S3 event notifications to notify you when a restore - * is initiated or completed. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring - * Amazon S3 Event Notifications</a> in the <i>Amazon S3 User Guide</i>.</p> - * <p>After restoring an archived object, you can update the restoration period by - * reissuing the request with a new period. Amazon S3 updates the restoration - * period relative to the current time and charges only for the request-there are - * no data transfer charges. You cannot update the restoration period when Amazon - * S3 is actively processing your current restore request for the object.</p> <p>If - * your bucket has a lifecycle configuration with a rule that includes an - * expiration action, the object expiration overrides the life span that you - * specify in a restore request. For example, if you restore an object copy for 10 - * days, but the object is scheduled to expire in 3 days, Amazon S3 deletes the - * object in 3 days. For more information about lifecycle configuration, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a> - * and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object - * Lifecycle Management</a> in <i>Amazon S3 User Guide</i>.</p> <p> - * <b>Responses</b> </p> <p>A successful action returns either the <code>200 - * OK</code> or <code>202 Accepted</code> status code. </p> <ul> <li> <p>If the - * object is not previously restored, then Amazon S3 returns <code>202 - * Accepted</code> in the response. </p> </li> <li> <p>If the object is previously - * restored, Amazon S3 returns <code>200 OK</code> in the response. </p> </li> - * </ul> <p class="title"> <b>Special Errors</b> </p> <ul> <li> <ul> <li> <p> - * <i>Code: RestoreAlreadyInProgress</i> </p> </li> <li> <p> <i>Cause: Object - * restore is already in progress. (This error does not apply to SELECT type - * requests.)</i> </p> </li> <li> <p> <i>HTTP Status Code: 409 Conflict</i> </p> - * </li> <li> <p> <i>SOAP Fault Code Prefix: Client</i> </p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code: GlacierExpeditedRetrievalNotAvailable</i> </p> </li> <li> - * <p> <i>Cause: expedited retrievals are currently not available. Try again later. - * (Returned if there is insufficient capacity to process the Expedited request. - * This error applies only to Expedited retrievals and not to S3 Standard or Bulk - * retrievals.)</i> </p> </li> <li> <p> <i>HTTP Status Code: 503</i> </p> </li> - * <li> <p> <i>SOAP Fault Code Prefix: N/A</i> </p> </li> </ul> </li> </ul> <p - * class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html">GetBucketNotificationConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html">SQL - * Reference for Amazon S3 Select and S3 Glacier Select </a> in the <i>Amazon S3 - * User Guide</i> </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for RestoreObject that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void RestoreObjectAsync(const Model::RestoreObjectRequest& request, const RestoreObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename RestoreObjectRequestT = Model::RestoreObjectRequest> + void RestoreObjectAsync(const RestoreObjectRequestT& request, const RestoreObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::RestoreObject, request, handler, context); + } /** * <p>This action filters the contents of an Amazon S3 object based on a simple @@ -10151,8 +5036,10 @@ namespace Aws * <p>This action is not supported by Amazon S3 on Outposts.</p> <p>For more * information about Amazon S3 Select, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html">Selecting - * Content from Objects</a> in the <i>Amazon S3 User Guide</i>.</p> <p>For more - * information about using SQL with Amazon S3 Select, see <a + * Content from Objects</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-select.html">SELECT + * Command</a> in the <i>Amazon S3 User Guide</i>.</p> <p>For more information + * about using SQL with Amazon S3 Select, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html"> * SQL Reference for Amazon S3 Select and S3 Glacier Select</a> in the <i>Amazon S3 * User Guide</i>.</p> <p/> <p> <b>Permissions</b> </p> <p>You must have @@ -10178,10 +5065,10 @@ namespace Aws * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side * Encryption (Using Customer-Provided Encryption Keys)</a> in the <i>Amazon S3 * User Guide</i>.</p> <p>For objects that are encrypted with Amazon S3 managed - * encryption keys (SSE-S3) and customer master keys (CMKs) stored in AWS Key - * Management Service (SSE-KMS), server-side encryption is handled transparently, - * so you don't need to specify anything. For more information about server-side - * encryption, including SSE-S3 and SSE-KMS, see <a + * encryption keys (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS), server-side + * encryption is handled transparently, so you don't need to specify anything. For + * more information about server-side encryption, including SSE-S3 and SSE-KMS, see + * <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting * Data Using Server-Side Encryption</a> in the <i>Amazon S3 User Guide</i>.</p> * </li> </ul> <p> <b>Working with the Response Body</b> </p> <p>Given the response @@ -10189,7 +5076,7 @@ namespace Aws * and includes a <code>Transfer-Encoding</code> header with <code>chunked</code> * as its value in the response. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html">Appendix: - * SelectObjectContent Response</a> .</p> <p/> <p> <b>GetObject Support</b> </p> + * SelectObjectContent Response</a>.</p> <p/> <p> <b>GetObject Support</b> </p> * <p>The <code>SelectObjectContent</code> action does not support the following * <code>GetObject</code> functionality. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a>.</p> @@ -10220,164 +5107,22 @@ namespace Aws virtual Model::SelectObjectContentOutcome SelectObjectContent(Model::SelectObjectContentRequest& request) const; /** - * <p>This action filters the contents of an Amazon S3 object based on a simple - * structured query language (SQL) statement. In the request, along with the SQL - * expression, you must also specify a data serialization format (JSON, CSV, or - * Apache Parquet) of the object. Amazon S3 uses this format to parse object data - * into records, and returns only records that match the specified SQL expression. - * You must also specify the data serialization format for the response.</p> - * <p>This action is not supported by Amazon S3 on Outposts.</p> <p>For more - * information about Amazon S3 Select, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html">Selecting - * Content from Objects</a> in the <i>Amazon S3 User Guide</i>.</p> <p>For more - * information about using SQL with Amazon S3 Select, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html"> - * SQL Reference for Amazon S3 Select and S3 Glacier Select</a> in the <i>Amazon S3 - * User Guide</i>.</p> <p/> <p> <b>Permissions</b> </p> <p>You must have - * <code>s3:GetObject</code> permission for this operation. Amazon S3 Select does - * not support anonymous access. For more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying - * Permissions in a Policy</a> in the <i>Amazon S3 User Guide</i>.</p> <p/> <p> - * <i>Object Data Formats</i> </p> <p>You can use Amazon S3 Select to query objects - * that have the following format properties:</p> <ul> <li> <p> <i>CSV, JSON, and - * Parquet</i> - Objects must be in CSV, JSON, or Parquet format.</p> </li> <li> - * <p> <i>UTF-8</i> - UTF-8 is the only encoding type Amazon S3 Select - * supports.</p> </li> <li> <p> <i>GZIP or BZIP2</i> - CSV and JSON files can be - * compressed using GZIP or BZIP2. GZIP and BZIP2 are the only compression formats - * that Amazon S3 Select supports for CSV and JSON files. Amazon S3 Select supports - * columnar compression for Parquet using GZIP or Snappy. Amazon S3 Select does not - * support whole-object compression for Parquet objects.</p> </li> <li> <p> - * <i>Server-side encryption</i> - Amazon S3 Select supports querying objects that - * are protected with server-side encryption.</p> <p>For objects that are encrypted - * with customer-provided encryption keys (SSE-C), you must use HTTPS, and you must - * use the headers that are documented in the <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a>. - * For more information about SSE-C, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys)</a> in the <i>Amazon S3 - * User Guide</i>.</p> <p>For objects that are encrypted with Amazon S3 managed - * encryption keys (SSE-S3) and customer master keys (CMKs) stored in AWS Key - * Management Service (SSE-KMS), server-side encryption is handled transparently, - * so you don't need to specify anything. For more information about server-side - * encryption, including SSE-S3 and SSE-KMS, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting - * Data Using Server-Side Encryption</a> in the <i>Amazon S3 User Guide</i>.</p> - * </li> </ul> <p> <b>Working with the Response Body</b> </p> <p>Given the response - * size is unknown, Amazon S3 Select streams the response as a series of messages - * and includes a <code>Transfer-Encoding</code> header with <code>chunked</code> - * as its value in the response. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html">Appendix: - * SelectObjectContent Response</a> .</p> <p/> <p> <b>GetObject Support</b> </p> - * <p>The <code>SelectObjectContent</code> action does not support the following - * <code>GetObject</code> functionality. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a>.</p> - * <ul> <li> <p> <code>Range</code>: Although you can specify a scan range for an - * Amazon S3 Select request (see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange">SelectObjectContentRequest - * - ScanRange</a> in the request parameters), you cannot specify the range of - * bytes of an object to return. </p> </li> <li> <p>GLACIER, DEEP_ARCHIVE and - * REDUCED_REDUNDANCY storage classes: You cannot specify the GLACIER, - * DEEP_ARCHIVE, or <code>REDUCED_REDUNDANCY</code> storage classes. For more - * information, about storage classes see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#storage-class-intro">Storage - * Classes</a> in the <i>Amazon S3 User Guide</i>.</p> </li> </ul> <p/> <p> - * <b>Special Errors</b> </p> <p>For a list of special errors for this operation, - * see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList">List - * of SELECT Object Content Error Codes</a> </p> <p class="title"> <b>Related - * Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html">GetBucketLifecycleConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for SelectObjectContent that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::SelectObjectContentOutcomeCallable SelectObjectContentCallable(Model::SelectObjectContentRequest& request) const; + template<typename SelectObjectContentRequestT = Model::SelectObjectContentRequest> + Model::SelectObjectContentOutcomeCallable SelectObjectContentCallable(SelectObjectContentRequestT& request) const + { + return SubmitCallable(&S3Client::SelectObjectContent, request); + } /** - * <p>This action filters the contents of an Amazon S3 object based on a simple - * structured query language (SQL) statement. In the request, along with the SQL - * expression, you must also specify a data serialization format (JSON, CSV, or - * Apache Parquet) of the object. Amazon S3 uses this format to parse object data - * into records, and returns only records that match the specified SQL expression. - * You must also specify the data serialization format for the response.</p> - * <p>This action is not supported by Amazon S3 on Outposts.</p> <p>For more - * information about Amazon S3 Select, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html">Selecting - * Content from Objects</a> in the <i>Amazon S3 User Guide</i>.</p> <p>For more - * information about using SQL with Amazon S3 Select, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html"> - * SQL Reference for Amazon S3 Select and S3 Glacier Select</a> in the <i>Amazon S3 - * User Guide</i>.</p> <p/> <p> <b>Permissions</b> </p> <p>You must have - * <code>s3:GetObject</code> permission for this operation. Amazon S3 Select does - * not support anonymous access. For more information about permissions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying - * Permissions in a Policy</a> in the <i>Amazon S3 User Guide</i>.</p> <p/> <p> - * <i>Object Data Formats</i> </p> <p>You can use Amazon S3 Select to query objects - * that have the following format properties:</p> <ul> <li> <p> <i>CSV, JSON, and - * Parquet</i> - Objects must be in CSV, JSON, or Parquet format.</p> </li> <li> - * <p> <i>UTF-8</i> - UTF-8 is the only encoding type Amazon S3 Select - * supports.</p> </li> <li> <p> <i>GZIP or BZIP2</i> - CSV and JSON files can be - * compressed using GZIP or BZIP2. GZIP and BZIP2 are the only compression formats - * that Amazon S3 Select supports for CSV and JSON files. Amazon S3 Select supports - * columnar compression for Parquet using GZIP or Snappy. Amazon S3 Select does not - * support whole-object compression for Parquet objects.</p> </li> <li> <p> - * <i>Server-side encryption</i> - Amazon S3 Select supports querying objects that - * are protected with server-side encryption.</p> <p>For objects that are encrypted - * with customer-provided encryption keys (SSE-C), you must use HTTPS, and you must - * use the headers that are documented in the <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a>. - * For more information about SSE-C, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys)</a> in the <i>Amazon S3 - * User Guide</i>.</p> <p>For objects that are encrypted with Amazon S3 managed - * encryption keys (SSE-S3) and customer master keys (CMKs) stored in AWS Key - * Management Service (SSE-KMS), server-side encryption is handled transparently, - * so you don't need to specify anything. For more information about server-side - * encryption, including SSE-S3 and SSE-KMS, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting - * Data Using Server-Side Encryption</a> in the <i>Amazon S3 User Guide</i>.</p> - * </li> </ul> <p> <b>Working with the Response Body</b> </p> <p>Given the response - * size is unknown, Amazon S3 Select streams the response as a series of messages - * and includes a <code>Transfer-Encoding</code> header with <code>chunked</code> - * as its value in the response. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html">Appendix: - * SelectObjectContent Response</a> .</p> <p/> <p> <b>GetObject Support</b> </p> - * <p>The <code>SelectObjectContent</code> action does not support the following - * <code>GetObject</code> functionality. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a>.</p> - * <ul> <li> <p> <code>Range</code>: Although you can specify a scan range for an - * Amazon S3 Select request (see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange">SelectObjectContentRequest - * - ScanRange</a> in the request parameters), you cannot specify the range of - * bytes of an object to return. </p> </li> <li> <p>GLACIER, DEEP_ARCHIVE and - * REDUCED_REDUNDANCY storage classes: You cannot specify the GLACIER, - * DEEP_ARCHIVE, or <code>REDUCED_REDUNDANCY</code> storage classes. For more - * information, about storage classes see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#storage-class-intro">Storage - * Classes</a> in the <i>Amazon S3 User Guide</i>.</p> </li> </ul> <p/> <p> - * <b>Special Errors</b> </p> <p>For a list of special errors for this operation, - * see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList">List - * of SELECT Object Content Error Codes</a> </p> <p class="title"> <b>Related - * Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html">GetBucketLifecycleConfiguration</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for SelectObjectContent that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void SelectObjectContentAsync(Model::SelectObjectContentRequest& request, const SelectObjectContentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename SelectObjectContentRequestT = Model::SelectObjectContentRequest> + void SelectObjectContentAsync(SelectObjectContentRequestT& request, const SelectObjectContentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::SelectObjectContent, request, handler, context); + } /** * <p>Uploads a part in a multipart upload.</p> <p>In this operation, you @@ -10392,23 +5137,25 @@ namespace Aws * part request.</p> <p>Part numbers can be any number from 1 to 10,000, inclusive. * A part number uniquely identifies a part and also defines its position within * the object being created. If you upload a new part using the same part number - * that was used with a previous part, the previously uploaded part is overwritten. - * Each part must be at least 5 MB in size, except the last part. There is no size - * limit on the last part of your multipart upload.</p> <p>To ensure that data is - * not corrupted when traversing the network, specify the <code>Content-MD5</code> - * header in the upload part request. Amazon S3 checks the part data against the - * provided MD5 value. If they do not match, Amazon S3 returns an error. </p> <p>If - * the upload request is signed with Signature Version 4, then AWS S3 uses the - * <code>x-amz-content-sha256</code> header as a checksum instead of - * <code>Content-MD5</code>. For more information see <a + * that was used with a previous part, the previously uploaded part is + * overwritten.</p> <p>For information about maximum and minimum part sizes and + * other multipart upload specifications, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html">Multipart + * upload limits</a> in the <i>Amazon S3 User Guide</i>.</p> <p>To ensure that data + * is not corrupted when traversing the network, specify the + * <code>Content-MD5</code> header in the upload part request. Amazon S3 checks the + * part data against the provided MD5 value. If they do not match, Amazon S3 + * returns an error. </p> <p>If the upload request is signed with Signature Version + * 4, then Amazon Web Services S3 uses the <code>x-amz-content-sha256</code> header + * as a checksum instead of <code>Content-MD5</code>. For more information see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html">Authenticating - * Requests: Using the Authorization Header (AWS Signature Version 4)</a>. </p> <p> - * <b>Note:</b> After you initiate multipart upload and upload one or more parts, - * you must either complete or abort multipart upload in order to stop getting - * charged for storage of the uploaded parts. Only after you either complete or - * abort multipart upload, Amazon S3 frees up the parts storage and stops charging - * you for the parts storage.</p> <p>For more information on multipart uploads, go - * to <a + * Requests: Using the Authorization Header (Amazon Web Services Signature Version + * 4)</a>. </p> <p> <b>Note:</b> After you initiate multipart upload and upload one + * or more parts, you must either complete or abort multipart upload in order to + * stop getting charged for storage of the uploaded parts. Only after you either + * complete or abort multipart upload, Amazon S3 frees up the parts storage and + * stops charging you for the parts storage.</p> <p>For more information on + * multipart uploads, go to <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html">Multipart * Upload Overview</a> in the <i>Amazon S3 User Guide </i>.</p> <p>For information * on the permissions required to use the multipart upload API, go to <a @@ -10417,9 +5164,9 @@ namespace Aws * optionally request server-side encryption where Amazon S3 encrypts your data as * it writes it to disks in its data centers and decrypts it for you when you * access it. You have the option of providing your own encryption key, or you can - * use the AWS managed encryption keys. If you choose to provide your own - * encryption key, the request headers you provide in the request must match the - * headers you used in the request to initiate the upload by using <a + * use the Amazon Web Services managed encryption keys. If you choose to provide + * your own encryption key, the request headers you provide in the request must + * match the headers you used in the request to initiate the upload by using <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a>. * For more information, go to <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html">Using @@ -10459,177 +5206,33 @@ namespace Aws virtual Model::UploadPartOutcome UploadPart(const Model::UploadPartRequest& request) const; /** - * <p>Uploads a part in a multipart upload.</p> <p>In this operation, you - * provide part data in your request. However, you have an option to specify your - * existing Amazon S3 object as a data source for the part you are uploading. To - * upload a part from an existing object, you use the <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a> - * operation. </p> <p>You must initiate a multipart upload (see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a>) - * before you can upload any part. In response to your initiate request, Amazon S3 - * returns an upload ID, a unique identifier, that you must include in your upload - * part request.</p> <p>Part numbers can be any number from 1 to 10,000, inclusive. - * A part number uniquely identifies a part and also defines its position within - * the object being created. If you upload a new part using the same part number - * that was used with a previous part, the previously uploaded part is overwritten. - * Each part must be at least 5 MB in size, except the last part. There is no size - * limit on the last part of your multipart upload.</p> <p>To ensure that data is - * not corrupted when traversing the network, specify the <code>Content-MD5</code> - * header in the upload part request. Amazon S3 checks the part data against the - * provided MD5 value. If they do not match, Amazon S3 returns an error. </p> <p>If - * the upload request is signed with Signature Version 4, then AWS S3 uses the - * <code>x-amz-content-sha256</code> header as a checksum instead of - * <code>Content-MD5</code>. For more information see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html">Authenticating - * Requests: Using the Authorization Header (AWS Signature Version 4)</a>. </p> <p> - * <b>Note:</b> After you initiate multipart upload and upload one or more parts, - * you must either complete or abort multipart upload in order to stop getting - * charged for storage of the uploaded parts. Only after you either complete or - * abort multipart upload, Amazon S3 frees up the parts storage and stops charging - * you for the parts storage.</p> <p>For more information on multipart uploads, go - * to <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html">Multipart - * Upload Overview</a> in the <i>Amazon S3 User Guide </i>.</p> <p>For information - * on the permissions required to use the multipart upload API, go to <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart - * Upload and Permissions</a> in the <i>Amazon S3 User Guide</i>.</p> <p>You can - * optionally request server-side encryption where Amazon S3 encrypts your data as - * it writes it to disks in its data centers and decrypts it for you when you - * access it. You have the option of providing your own encryption key, or you can - * use the AWS managed encryption keys. If you choose to provide your own - * encryption key, the request headers you provide in the request must match the - * headers you used in the request to initiate the upload by using <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a>. - * For more information, go to <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html">Using - * Server-Side Encryption</a> in the <i>Amazon S3 User Guide</i>.</p> - * <p>Server-side encryption is supported by the S3 Multipart Upload actions. - * Unless you are using a customer-provided encryption key, you don't need to - * specify the encryption parameters in each UploadPart request. Instead, you only - * need to specify the server-side encryption parameters in the initial Initiate - * Multipart request. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a>.</p> - * <p>If you requested server-side encryption using a customer-provided encryption - * key in your initiate multipart upload request, you must provide identical - * encryption information in each part upload using the following headers.</p> <ul> - * <li> <p>x-amz-server-side-encryption-customer-algorithm</p> </li> <li> - * <p>x-amz-server-side-encryption-customer-key</p> </li> <li> - * <p>x-amz-server-side-encryption-customer-key-MD5</p> </li> </ul> <p - * class="title"> <b>Special Errors</b> </p> <ul> <li> <ul> <li> <p> <i>Code: - * NoSuchUpload</i> </p> </li> <li> <p> <i>Cause: The specified multipart upload - * does not exist. The upload ID might be invalid, or the multipart upload might - * have been aborted or completed.</i> </p> </li> <li> <p> <i> HTTP Status Code: - * 404 Not Found </i> </p> </li> <li> <p> <i>SOAP Fault Code Prefix: Client</i> - * </p> </li> </ul> </li> </ul> <p class="title"> <b>Related Resources</b> </p> - * <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart">AWS API - * Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for UploadPart that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::UploadPartOutcomeCallable UploadPartCallable(const Model::UploadPartRequest& request) const; + template<typename UploadPartRequestT = Model::UploadPartRequest> + Model::UploadPartOutcomeCallable UploadPartCallable(const UploadPartRequestT& request) const + { + return SubmitCallable(&S3Client::UploadPart, request); + } /** - * <p>Uploads a part in a multipart upload.</p> <p>In this operation, you - * provide part data in your request. However, you have an option to specify your - * existing Amazon S3 object as a data source for the part you are uploading. To - * upload a part from an existing object, you use the <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a> - * operation. </p> <p>You must initiate a multipart upload (see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a>) - * before you can upload any part. In response to your initiate request, Amazon S3 - * returns an upload ID, a unique identifier, that you must include in your upload - * part request.</p> <p>Part numbers can be any number from 1 to 10,000, inclusive. - * A part number uniquely identifies a part and also defines its position within - * the object being created. If you upload a new part using the same part number - * that was used with a previous part, the previously uploaded part is overwritten. - * Each part must be at least 5 MB in size, except the last part. There is no size - * limit on the last part of your multipart upload.</p> <p>To ensure that data is - * not corrupted when traversing the network, specify the <code>Content-MD5</code> - * header in the upload part request. Amazon S3 checks the part data against the - * provided MD5 value. If they do not match, Amazon S3 returns an error. </p> <p>If - * the upload request is signed with Signature Version 4, then AWS S3 uses the - * <code>x-amz-content-sha256</code> header as a checksum instead of - * <code>Content-MD5</code>. For more information see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html">Authenticating - * Requests: Using the Authorization Header (AWS Signature Version 4)</a>. </p> <p> - * <b>Note:</b> After you initiate multipart upload and upload one or more parts, - * you must either complete or abort multipart upload in order to stop getting - * charged for storage of the uploaded parts. Only after you either complete or - * abort multipart upload, Amazon S3 frees up the parts storage and stops charging - * you for the parts storage.</p> <p>For more information on multipart uploads, go - * to <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html">Multipart - * Upload Overview</a> in the <i>Amazon S3 User Guide </i>.</p> <p>For information - * on the permissions required to use the multipart upload API, go to <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart - * Upload and Permissions</a> in the <i>Amazon S3 User Guide</i>.</p> <p>You can - * optionally request server-side encryption where Amazon S3 encrypts your data as - * it writes it to disks in its data centers and decrypts it for you when you - * access it. You have the option of providing your own encryption key, or you can - * use the AWS managed encryption keys. If you choose to provide your own - * encryption key, the request headers you provide in the request must match the - * headers you used in the request to initiate the upload by using <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a>. - * For more information, go to <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html">Using - * Server-Side Encryption</a> in the <i>Amazon S3 User Guide</i>.</p> - * <p>Server-side encryption is supported by the S3 Multipart Upload actions. - * Unless you are using a customer-provided encryption key, you don't need to - * specify the encryption parameters in each UploadPart request. Instead, you only - * need to specify the server-side encryption parameters in the initial Initiate - * Multipart request. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a>.</p> - * <p>If you requested server-side encryption using a customer-provided encryption - * key in your initiate multipart upload request, you must provide identical - * encryption information in each part upload using the following headers.</p> <ul> - * <li> <p>x-amz-server-side-encryption-customer-algorithm</p> </li> <li> - * <p>x-amz-server-side-encryption-customer-key</p> </li> <li> - * <p>x-amz-server-side-encryption-customer-key-MD5</p> </li> </ul> <p - * class="title"> <b>Special Errors</b> </p> <ul> <li> <ul> <li> <p> <i>Code: - * NoSuchUpload</i> </p> </li> <li> <p> <i>Cause: The specified multipart upload - * does not exist. The upload ID might be invalid, or the multipart upload might - * have been aborted or completed.</i> </p> </li> <li> <p> <i> HTTP Status Code: - * 404 Not Found </i> </p> </li> <li> <p> <i>SOAP Fault Code Prefix: Client</i> - * </p> </li> </ul> </li> </ul> <p class="title"> <b>Related Resources</b> </p> - * <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart">AWS API - * Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for UploadPart that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void UploadPartAsync(const Model::UploadPartRequest& request, const UploadPartResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename UploadPartRequestT = Model::UploadPartRequest> + void UploadPartAsync(const UploadPartRequestT& request, const UploadPartResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::UploadPart, request, handler, context); + } /** * <p>Uploads a part by copying data from an existing object as data source. You * specify the data source by adding the request header * <code>x-amz-copy-source</code> in your request and a byte range by adding the - * request header <code>x-amz-copy-source-range</code> in your request. </p> <p>The - * minimum allowable part size for a multipart upload is 5 MB. For more information - * about multipart upload limits, go to <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/qfacts.html">Quick - * Facts</a> in the <i>Amazon S3 User Guide</i>. </p> <p>Instead of using an - * existing object as part data, you might use the <a + * request header <code>x-amz-copy-source-range</code> in your request. </p> <p>For + * information about maximum and minimum part sizes and other multipart upload + * specifications, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html">Multipart + * upload limits</a> in the <i>Amazon S3 User Guide</i>. </p> <p>Instead of + * using an existing object as part data, you might use the <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> * action and provide data in your request.</p> <p>You must initiate a * multipart upload before you can upload any part. In response to your initiate @@ -10643,12 +5246,12 @@ namespace Aws * API, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart * Upload and Permissions</a> in the <i>Amazon S3 User Guide</i>.</p> </li> <li> - * <p>For information about copying objects using a single atomic action vs. the + * <p>For information about copying objects using a single atomic action vs. a * multipart upload, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html">Operations * on Objects</a> in the <i>Amazon S3 User Guide</i>.</p> </li> <li> <p>For * information about using server-side encryption with customer-provided encryption - * keys with the UploadPartCopy operation, see <a + * keys with the <code>UploadPartCopy</code> operation, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a> * and <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a>.</p> @@ -10709,322 +5312,100 @@ namespace Aws virtual Model::UploadPartCopyOutcome UploadPartCopy(const Model::UploadPartCopyRequest& request) const; /** - * <p>Uploads a part by copying data from an existing object as data source. You - * specify the data source by adding the request header - * <code>x-amz-copy-source</code> in your request and a byte range by adding the - * request header <code>x-amz-copy-source-range</code> in your request. </p> <p>The - * minimum allowable part size for a multipart upload is 5 MB. For more information - * about multipart upload limits, go to <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/qfacts.html">Quick - * Facts</a> in the <i>Amazon S3 User Guide</i>. </p> <p>Instead of using an - * existing object as part data, you might use the <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> - * action and provide data in your request.</p> <p>You must initiate a - * multipart upload before you can upload any part. In response to your initiate - * request. Amazon S3 returns a unique identifier, the upload ID, that you must - * include in your upload part request.</p> <p>For more information about using the - * <code>UploadPartCopy</code> operation, see the following:</p> <ul> <li> <p>For - * conceptual information about multipart uploads, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading - * Objects Using Multipart Upload</a> in the <i>Amazon S3 User Guide</i>.</p> </li> - * <li> <p>For information about permissions required to use the multipart upload - * API, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart - * Upload and Permissions</a> in the <i>Amazon S3 User Guide</i>.</p> </li> <li> - * <p>For information about copying objects using a single atomic action vs. the - * multipart upload, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html">Operations - * on Objects</a> in the <i>Amazon S3 User Guide</i>.</p> </li> <li> <p>For - * information about using server-side encryption with customer-provided encryption - * keys with the UploadPartCopy operation, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a> - * and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a>.</p> - * </li> </ul> <p>Note the following additional considerations about the request - * headers <code>x-amz-copy-source-if-match</code>, - * <code>x-amz-copy-source-if-none-match</code>, - * <code>x-amz-copy-source-if-unmodified-since</code>, and - * <code>x-amz-copy-source-if-modified-since</code>:</p> <p> </p> <ul> <li> <p> - * <b>Consideration 1</b> - If both of the <code>x-amz-copy-source-if-match</code> - * and <code>x-amz-copy-source-if-unmodified-since</code> headers are present in - * the request as follows:</p> <p> <code>x-amz-copy-source-if-match</code> - * condition evaluates to <code>true</code>, and;</p> <p> - * <code>x-amz-copy-source-if-unmodified-since</code> condition evaluates to - * <code>false</code>;</p> <p>Amazon S3 returns <code>200 OK</code> and copies the - * data. </p> </li> <li> <p> <b>Consideration 2</b> - If both of the - * <code>x-amz-copy-source-if-none-match</code> and - * <code>x-amz-copy-source-if-modified-since</code> headers are present in the - * request as follows:</p> <p> <code>x-amz-copy-source-if-none-match</code> - * condition evaluates to <code>false</code>, and;</p> <p> - * <code>x-amz-copy-source-if-modified-since</code> condition evaluates to - * <code>true</code>;</p> <p>Amazon S3 returns <code>412 Precondition Failed</code> - * response code. </p> </li> </ul> <p> <b>Versioning</b> </p> <p>If your bucket has - * versioning enabled, you could have multiple versions of the same object. By - * default, <code>x-amz-copy-source</code> identifies the current version of the - * object to copy. If the current version is a delete marker and you don't specify - * a versionId in the <code>x-amz-copy-source</code>, Amazon S3 returns a 404 - * error, because the object does not exist. If you specify versionId in the - * <code>x-amz-copy-source</code> and the versionId is a delete marker, Amazon S3 - * returns an HTTP 400 error, because you are not allowed to specify a delete - * marker as a version for the <code>x-amz-copy-source</code>. </p> <p>You can - * optionally specify a specific version of the source object to copy by adding the - * <code>versionId</code> subresource as shown in the following example:</p> <p> - * <code>x-amz-copy-source: /bucket/object?versionId=version id</code> </p> <p - * class="title"> <b>Special Errors</b> </p> <ul> <li> <ul> <li> <p> <i>Code: - * NoSuchUpload</i> </p> </li> <li> <p> <i>Cause: The specified multipart upload - * does not exist. The upload ID might be invalid, or the multipart upload might - * have been aborted or completed.</i> </p> </li> <li> <p> <i>HTTP Status Code: 404 - * Not Found</i> </p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code: - * InvalidRequest</i> </p> </li> <li> <p> <i>Cause: The specified copy source is - * not supported as a byte-range copy source.</i> </p> </li> <li> <p> <i>HTTP - * Status Code: 400 Bad Request</i> </p> </li> </ul> </li> </ul> <p class="title"> - * <b>Related Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for UploadPartCopy that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::UploadPartCopyOutcomeCallable UploadPartCopyCallable(const Model::UploadPartCopyRequest& request) const; + template<typename UploadPartCopyRequestT = Model::UploadPartCopyRequest> + Model::UploadPartCopyOutcomeCallable UploadPartCopyCallable(const UploadPartCopyRequestT& request) const + { + return SubmitCallable(&S3Client::UploadPartCopy, request); + } /** - * <p>Uploads a part by copying data from an existing object as data source. You - * specify the data source by adding the request header - * <code>x-amz-copy-source</code> in your request and a byte range by adding the - * request header <code>x-amz-copy-source-range</code> in your request. </p> <p>The - * minimum allowable part size for a multipart upload is 5 MB. For more information - * about multipart upload limits, go to <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/qfacts.html">Quick - * Facts</a> in the <i>Amazon S3 User Guide</i>. </p> <p>Instead of using an - * existing object as part data, you might use the <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> - * action and provide data in your request.</p> <p>You must initiate a - * multipart upload before you can upload any part. In response to your initiate - * request. Amazon S3 returns a unique identifier, the upload ID, that you must - * include in your upload part request.</p> <p>For more information about using the - * <code>UploadPartCopy</code> operation, see the following:</p> <ul> <li> <p>For - * conceptual information about multipart uploads, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading - * Objects Using Multipart Upload</a> in the <i>Amazon S3 User Guide</i>.</p> </li> - * <li> <p>For information about permissions required to use the multipart upload - * API, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart - * Upload and Permissions</a> in the <i>Amazon S3 User Guide</i>.</p> </li> <li> - * <p>For information about copying objects using a single atomic action vs. the - * multipart upload, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html">Operations - * on Objects</a> in the <i>Amazon S3 User Guide</i>.</p> </li> <li> <p>For - * information about using server-side encryption with customer-provided encryption - * keys with the UploadPartCopy operation, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a> - * and <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a>.</p> - * </li> </ul> <p>Note the following additional considerations about the request - * headers <code>x-amz-copy-source-if-match</code>, - * <code>x-amz-copy-source-if-none-match</code>, - * <code>x-amz-copy-source-if-unmodified-since</code>, and - * <code>x-amz-copy-source-if-modified-since</code>:</p> <p> </p> <ul> <li> <p> - * <b>Consideration 1</b> - If both of the <code>x-amz-copy-source-if-match</code> - * and <code>x-amz-copy-source-if-unmodified-since</code> headers are present in - * the request as follows:</p> <p> <code>x-amz-copy-source-if-match</code> - * condition evaluates to <code>true</code>, and;</p> <p> - * <code>x-amz-copy-source-if-unmodified-since</code> condition evaluates to - * <code>false</code>;</p> <p>Amazon S3 returns <code>200 OK</code> and copies the - * data. </p> </li> <li> <p> <b>Consideration 2</b> - If both of the - * <code>x-amz-copy-source-if-none-match</code> and - * <code>x-amz-copy-source-if-modified-since</code> headers are present in the - * request as follows:</p> <p> <code>x-amz-copy-source-if-none-match</code> - * condition evaluates to <code>false</code>, and;</p> <p> - * <code>x-amz-copy-source-if-modified-since</code> condition evaluates to - * <code>true</code>;</p> <p>Amazon S3 returns <code>412 Precondition Failed</code> - * response code. </p> </li> </ul> <p> <b>Versioning</b> </p> <p>If your bucket has - * versioning enabled, you could have multiple versions of the same object. By - * default, <code>x-amz-copy-source</code> identifies the current version of the - * object to copy. If the current version is a delete marker and you don't specify - * a versionId in the <code>x-amz-copy-source</code>, Amazon S3 returns a 404 - * error, because the object does not exist. If you specify versionId in the - * <code>x-amz-copy-source</code> and the versionId is a delete marker, Amazon S3 - * returns an HTTP 400 error, because you are not allowed to specify a delete - * marker as a version for the <code>x-amz-copy-source</code>. </p> <p>You can - * optionally specify a specific version of the source object to copy by adding the - * <code>versionId</code> subresource as shown in the following example:</p> <p> - * <code>x-amz-copy-source: /bucket/object?versionId=version id</code> </p> <p - * class="title"> <b>Special Errors</b> </p> <ul> <li> <ul> <li> <p> <i>Code: - * NoSuchUpload</i> </p> </li> <li> <p> <i>Cause: The specified multipart upload - * does not exist. The upload ID might be invalid, or the multipart upload might - * have been aborted or completed.</i> </p> </li> <li> <p> <i>HTTP Status Code: 404 - * Not Found</i> </p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code: - * InvalidRequest</i> </p> </li> <li> <p> <i>Cause: The specified copy source is - * not supported as a byte-range copy source.</i> </p> </li> <li> <p> <i>HTTP - * Status Code: 400 Bad Request</i> </p> </li> </ul> </li> </ul> <p class="title"> - * <b>Related Resources</b> </p> <ul> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> - * </p> </li> <li> <p> <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> - * </p> </li> </ul><p><h3>See Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for UploadPartCopy that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void UploadPartCopyAsync(const Model::UploadPartCopyRequest& request, const UploadPartCopyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename UploadPartCopyRequestT = Model::UploadPartCopyRequest> + void UploadPartCopyAsync(const UploadPartCopyRequestT& request, const UploadPartCopyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::UploadPartCopy, request, handler, context); + } /** * <p>Passes transformed objects to a <code>GetObject</code> operation when using - * Object Lambda Access Points. For information about Object Lambda Access Points, + * Object Lambda access points. For information about Object Lambda access points, * see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/transforming-objects.html">Transforming - * objects with Object Lambda Access Points</a> in the <i>Amazon S3 User + * objects with Object Lambda access points</a> in the <i>Amazon S3 User * Guide</i>.</p> <p>This operation supports metadata that can be returned by <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a>, * in addition to <code>RequestRoute</code>, <code>RequestToken</code>, * <code>StatusCode</code>, <code>ErrorCode</code>, and <code>ErrorMessage</code>. * The <code>GetObject</code> response metadata is supported so that the - * <code>WriteGetObjectResponse</code> caller, typically an AWS Lambda function, - * can provide the same metadata when it internally invokes <code>GetObject</code>. + * <code>WriteGetObjectResponse</code> caller, typically an Lambda function, can + * provide the same metadata when it internally invokes <code>GetObject</code>. * When <code>WriteGetObjectResponse</code> is called by a customer-owned Lambda * function, the metadata returned to the end user <code>GetObject</code> call - * might differ from what Amazon S3 would normally return.</p> <p>AWS provides some - * prebuilt Lambda functions that you can use with S3 Object Lambda to detect and - * redact personally identifiable information (PII) and decompress S3 objects. - * These Lambda functions are available in the AWS Serverless Application - * Repository, and can be selected through the AWS Management Console when you - * create your Object Lambda Access Point.</p> <p>Example 1: PII Access Control - - * This Lambda function uses Amazon Comprehend, a natural language processing (NLP) - * service using machine learning to find insights and relationships in text. It - * automatically detects personally identifiable information (PII) such as names, - * addresses, dates, credit card numbers, and social security numbers from - * documents in your Amazon S3 bucket. </p> <p>Example 2: PII Redaction - This - * Lambda function uses Amazon Comprehend, a natural language processing (NLP) - * service using machine learning to find insights and relationships in text. It - * automatically redacts personally identifiable information (PII) such as names, - * addresses, dates, credit card numbers, and social security numbers from - * documents in your Amazon S3 bucket. </p> <p>Example 3: Decompression - The - * Lambda function S3ObjectLambdaDecompression, is equipped to decompress objects - * stored in S3 in one of six compressed file formats including bzip2, gzip, - * snappy, zlib, zstandard and ZIP. </p> <p>For information on how to view and use - * these functions, see <a + * might differ from what Amazon S3 would normally return.</p> <p>You can include + * any number of metadata headers. When including a metadata header, it should be + * prefaced with <code>x-amz-meta</code>. For example, + * <code>x-amz-meta-my-custom-header: MyCustomValue</code>. The primary use case + * for this is to forward <code>GetObject</code> metadata.</p> <p>Amazon Web + * Services provides some prebuilt Lambda functions that you can use with S3 Object + * Lambda to detect and redact personally identifiable information (PII) and + * decompress S3 objects. These Lambda functions are available in the Amazon Web + * Services Serverless Application Repository, and can be selected through the + * Amazon Web Services Management Console when you create your Object Lambda access + * point.</p> <p>Example 1: PII Access Control - This Lambda function uses Amazon + * Comprehend, a natural language processing (NLP) service using machine learning + * to find insights and relationships in text. It automatically detects personally + * identifiable information (PII) such as names, addresses, dates, credit card + * numbers, and social security numbers from documents in your Amazon S3 bucket. + * </p> <p>Example 2: PII Redaction - This Lambda function uses Amazon Comprehend, + * a natural language processing (NLP) service using machine learning to find + * insights and relationships in text. It automatically redacts personally + * identifiable information (PII) such as names, addresses, dates, credit card + * numbers, and social security numbers from documents in your Amazon S3 bucket. + * </p> <p>Example 3: Decompression - The Lambda function + * S3ObjectLambdaDecompression, is equipped to decompress objects stored in S3 in + * one of six compressed file formats including bzip2, gzip, snappy, zlib, + * zstandard and ZIP. </p> <p>For information on how to view and use these + * functions, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/olap-examples.html">Using - * AWS built Lambda functions</a> in the <i>Amazon S3 User Guide</i>.</p><p><h3>See - * Also:</h3> <a + * Amazon Web Services built Lambda functions</a> in the <i>Amazon S3 User + * Guide</i>.</p><p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/WriteGetObjectResponse">AWS * API Reference</a></p> */ virtual Model::WriteGetObjectResponseOutcome WriteGetObjectResponse(const Model::WriteGetObjectResponseRequest& request) const; /** - * <p>Passes transformed objects to a <code>GetObject</code> operation when using - * Object Lambda Access Points. For information about Object Lambda Access Points, - * see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/transforming-objects.html">Transforming - * objects with Object Lambda Access Points</a> in the <i>Amazon S3 User - * Guide</i>.</p> <p>This operation supports metadata that can be returned by <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a>, - * in addition to <code>RequestRoute</code>, <code>RequestToken</code>, - * <code>StatusCode</code>, <code>ErrorCode</code>, and <code>ErrorMessage</code>. - * The <code>GetObject</code> response metadata is supported so that the - * <code>WriteGetObjectResponse</code> caller, typically an AWS Lambda function, - * can provide the same metadata when it internally invokes <code>GetObject</code>. - * When <code>WriteGetObjectResponse</code> is called by a customer-owned Lambda - * function, the metadata returned to the end user <code>GetObject</code> call - * might differ from what Amazon S3 would normally return.</p> <p>AWS provides some - * prebuilt Lambda functions that you can use with S3 Object Lambda to detect and - * redact personally identifiable information (PII) and decompress S3 objects. - * These Lambda functions are available in the AWS Serverless Application - * Repository, and can be selected through the AWS Management Console when you - * create your Object Lambda Access Point.</p> <p>Example 1: PII Access Control - - * This Lambda function uses Amazon Comprehend, a natural language processing (NLP) - * service using machine learning to find insights and relationships in text. It - * automatically detects personally identifiable information (PII) such as names, - * addresses, dates, credit card numbers, and social security numbers from - * documents in your Amazon S3 bucket. </p> <p>Example 2: PII Redaction - This - * Lambda function uses Amazon Comprehend, a natural language processing (NLP) - * service using machine learning to find insights and relationships in text. It - * automatically redacts personally identifiable information (PII) such as names, - * addresses, dates, credit card numbers, and social security numbers from - * documents in your Amazon S3 bucket. </p> <p>Example 3: Decompression - The - * Lambda function S3ObjectLambdaDecompression, is equipped to decompress objects - * stored in S3 in one of six compressed file formats including bzip2, gzip, - * snappy, zlib, zstandard and ZIP. </p> <p>For information on how to view and use - * these functions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/olap-examples.html">Using - * AWS built Lambda functions</a> in the <i>Amazon S3 User Guide</i>.</p><p><h3>See - * Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/WriteGetObjectResponse">AWS - * API Reference</a></p> - * - * returns a future to the operation so that it can be executed in parallel to other requests. + * A Callable wrapper for WriteGetObjectResponse that returns a future to the operation so that it can be executed in parallel to other requests. */ - virtual Model::WriteGetObjectResponseOutcomeCallable WriteGetObjectResponseCallable(const Model::WriteGetObjectResponseRequest& request) const; + template<typename WriteGetObjectResponseRequestT = Model::WriteGetObjectResponseRequest> + Model::WriteGetObjectResponseOutcomeCallable WriteGetObjectResponseCallable(const WriteGetObjectResponseRequestT& request) const + { + return SubmitCallable(&S3Client::WriteGetObjectResponse, request); + } /** - * <p>Passes transformed objects to a <code>GetObject</code> operation when using - * Object Lambda Access Points. For information about Object Lambda Access Points, - * see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/transforming-objects.html">Transforming - * objects with Object Lambda Access Points</a> in the <i>Amazon S3 User - * Guide</i>.</p> <p>This operation supports metadata that can be returned by <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a>, - * in addition to <code>RequestRoute</code>, <code>RequestToken</code>, - * <code>StatusCode</code>, <code>ErrorCode</code>, and <code>ErrorMessage</code>. - * The <code>GetObject</code> response metadata is supported so that the - * <code>WriteGetObjectResponse</code> caller, typically an AWS Lambda function, - * can provide the same metadata when it internally invokes <code>GetObject</code>. - * When <code>WriteGetObjectResponse</code> is called by a customer-owned Lambda - * function, the metadata returned to the end user <code>GetObject</code> call - * might differ from what Amazon S3 would normally return.</p> <p>AWS provides some - * prebuilt Lambda functions that you can use with S3 Object Lambda to detect and - * redact personally identifiable information (PII) and decompress S3 objects. - * These Lambda functions are available in the AWS Serverless Application - * Repository, and can be selected through the AWS Management Console when you - * create your Object Lambda Access Point.</p> <p>Example 1: PII Access Control - - * This Lambda function uses Amazon Comprehend, a natural language processing (NLP) - * service using machine learning to find insights and relationships in text. It - * automatically detects personally identifiable information (PII) such as names, - * addresses, dates, credit card numbers, and social security numbers from - * documents in your Amazon S3 bucket. </p> <p>Example 2: PII Redaction - This - * Lambda function uses Amazon Comprehend, a natural language processing (NLP) - * service using machine learning to find insights and relationships in text. It - * automatically redacts personally identifiable information (PII) such as names, - * addresses, dates, credit card numbers, and social security numbers from - * documents in your Amazon S3 bucket. </p> <p>Example 3: Decompression - The - * Lambda function S3ObjectLambdaDecompression, is equipped to decompress objects - * stored in S3 in one of six compressed file formats including bzip2, gzip, - * snappy, zlib, zstandard and ZIP. </p> <p>For information on how to view and use - * these functions, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/olap-examples.html">Using - * AWS built Lambda functions</a> in the <i>Amazon S3 User Guide</i>.</p><p><h3>See - * Also:</h3> <a - * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/WriteGetObjectResponse">AWS - * API Reference</a></p> - * - * Queues the request into a thread executor and triggers associated callback when operation has finished. + * An Async wrapper for WriteGetObjectResponse that queues the request into a thread executor and triggers associated callback when operation has finished. */ - virtual void WriteGetObjectResponseAsync(const Model::WriteGetObjectResponseRequest& request, const WriteGetObjectResponseResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + template<typename WriteGetObjectResponseRequestT = Model::WriteGetObjectResponseRequest> + void WriteGetObjectResponseAsync(const WriteGetObjectResponseRequestT& request, const WriteGetObjectResponseResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const + { + return SubmitAsync(&S3Client::WriteGetObjectResponse, request, handler, context); + } - Aws::String GeneratePresignedUrl(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, long long expirationInSeconds = MAX_EXPIRATION_SECONDS); + Aws::String GeneratePresignedUrl(const Aws::String& bucket, + const Aws::String& key, + Aws::Http::HttpMethod method, + uint64_t expirationInSeconds = MAX_EXPIRATION_SECONDS); - Aws::String GeneratePresignedUrl(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, const Http::HeaderValueCollection& customizedHeaders, long long expirationInSeconds = MAX_EXPIRATION_SECONDS); + Aws::String GeneratePresignedUrl(const Aws::String& bucket, + const Aws::String& key, + Aws::Http::HttpMethod method, + const Http::HeaderValueCollection& customizedHeaders, + uint64_t expirationInSeconds = MAX_EXPIRATION_SECONDS); /** * Server Side Encryption Headers and Algorithm @@ -11037,155 +5418,77 @@ namespace Aws * Generate presigned URL with Sever Side Encryption(SSE) and with S3 managed keys. * https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html (algo: AES256) */ - Aws::String GeneratePresignedUrlWithSSES3(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, long long expirationInSeconds = MAX_EXPIRATION_SECONDS); + Aws::String GeneratePresignedUrlWithSSES3(const Aws::String& bucket, + const Aws::String& key, + Aws::Http::HttpMethod method, + uint64_t expirationInSeconds = MAX_EXPIRATION_SECONDS); /** * Generate presigned URL with Sever Side Encryption(SSE) and with S3 managed keys. * https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html (algo: AES256) * Header: "x-amz-server-side-encryption" will be added internally, don't customize it. */ - Aws::String GeneratePresignedUrlWithSSES3(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, Http::HeaderValueCollection customizedHeaders, long long expirationInSeconds = MAX_EXPIRATION_SECONDS); + Aws::String GeneratePresignedUrlWithSSES3(const Aws::String& bucket, + const Aws::String& key, + Aws::Http::HttpMethod method, + Http::HeaderValueCollection customizedHeaders, + uint64_t expirationInSeconds = MAX_EXPIRATION_SECONDS); /** * Generate presigned URL with Server Side Encryption(SSE) and with KMS master key id. * if kmsMasterKeyId is empty, we will end up use the default one generated by KMS for you. You can find it via AWS IAM console, it's the one aliased as "aws/s3". * https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html (algo: aws:kms) */ - Aws::String GeneratePresignedUrlWithSSEKMS(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, const Aws::String& kmsMasterKeyId = "", long long expirationInSeconds = MAX_EXPIRATION_SECONDS); + Aws::String GeneratePresignedUrlWithSSEKMS(const Aws::String& bucket, + const Aws::String& key, + Aws::Http::HttpMethod method, + const Aws::String& kmsMasterKeyId = "", + uint64_t expirationInSeconds = MAX_EXPIRATION_SECONDS); /** * Generate presigned URL with Server Side Encryption(SSE) and with KMS master key id. * if kmsMasterKeyId is empty, we will end up use the default one generated by KMS for you. You can find it via AWS IAM console, it's the one aliased as "aws/s3". * https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html (algo: aws:kms) * Headers: "x-amz-server-side-encryption" and "x-amz-server-side-encryption-aws-kms-key-id" will be added internally, don't customize them. */ - Aws::String GeneratePresignedUrlWithSSEKMS(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, Http::HeaderValueCollection customizedHeaders, const Aws::String& kmsMasterKeyId = "", long long expirationInSeconds = MAX_EXPIRATION_SECONDS); + Aws::String GeneratePresignedUrlWithSSEKMS(const Aws::String& bucket, + const Aws::String& key, + Aws::Http::HttpMethod method, + Http::HeaderValueCollection customizedHeaders, + const Aws::String& kmsMasterKeyId = "", + uint64_t expirationInSeconds = MAX_EXPIRATION_SECONDS); /** * Generate presigned URL with Sever Side Encryption(SSE) and with customer supplied Key. * https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html (algo: AES256) */ - Aws::String GeneratePresignedUrlWithSSEC(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, const Aws::String& base64EncodedAES256Key, long long expirationInSeconds = MAX_EXPIRATION_SECONDS); + Aws::String GeneratePresignedUrlWithSSEC(const Aws::String& bucket, + const Aws::String& key, + Aws::Http::HttpMethod method, + const Aws::String& base64EncodedAES256Key, + uint64_t expirationInSeconds = MAX_EXPIRATION_SECONDS); /** * Generate presigned URL with Sever Side Encryption(SSE) and with customer supplied Key. * https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html (algo: AES256) * Headers: "x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key" and "x-amz-server-side-encryption-customer-key-MD5" will be added internally, don't customize them. */ - Aws::String GeneratePresignedUrlWithSSEC(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, Http::HeaderValueCollection customizedHeaders, const Aws::String& base64EncodedAES256Key, long long expirationInSeconds = MAX_EXPIRATION_SECONDS); + Aws::String GeneratePresignedUrlWithSSEC(const Aws::String& bucket, + const Aws::String& key, + Aws::Http::HttpMethod method, + Http::HeaderValueCollection customizedHeaders, + const Aws::String& base64EncodedAES256Key, + uint64_t expirationInSeconds = MAX_EXPIRATION_SECONDS); virtual bool MultipartUploadSupported() const; void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr<S3EndpointProviderBase>& accessEndpointProvider(); private: - void init(const Client::ClientConfiguration& clientConfiguration); - void LoadS3SpecificConfig(const Aws::String& profile); - ComputeEndpointOutcome ComputeEndpointString(const Aws::String& bucket) const; - ComputeEndpointOutcome ComputeEndpointString() const; - ComputeEndpointOutcome ComputeEndpointStringWithServiceName(const Aws::String& serviceNameOverride = "") const; - - void AbortMultipartUploadAsyncHelper(const Model::AbortMultipartUploadRequest& request, const AbortMultipartUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void CompleteMultipartUploadAsyncHelper(const Model::CompleteMultipartUploadRequest& request, const CompleteMultipartUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void CopyObjectAsyncHelper(const Model::CopyObjectRequest& request, const CopyObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void CreateBucketAsyncHelper(const Model::CreateBucketRequest& request, const CreateBucketResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void CreateMultipartUploadAsyncHelper(const Model::CreateMultipartUploadRequest& request, const CreateMultipartUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void DeleteBucketAsyncHelper(const Model::DeleteBucketRequest& request, const DeleteBucketResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void DeleteBucketAnalyticsConfigurationAsyncHelper(const Model::DeleteBucketAnalyticsConfigurationRequest& request, const DeleteBucketAnalyticsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void DeleteBucketCorsAsyncHelper(const Model::DeleteBucketCorsRequest& request, const DeleteBucketCorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void DeleteBucketEncryptionAsyncHelper(const Model::DeleteBucketEncryptionRequest& request, const DeleteBucketEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void DeleteBucketIntelligentTieringConfigurationAsyncHelper(const Model::DeleteBucketIntelligentTieringConfigurationRequest& request, const DeleteBucketIntelligentTieringConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void DeleteBucketInventoryConfigurationAsyncHelper(const Model::DeleteBucketInventoryConfigurationRequest& request, const DeleteBucketInventoryConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void DeleteBucketLifecycleAsyncHelper(const Model::DeleteBucketLifecycleRequest& request, const DeleteBucketLifecycleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void DeleteBucketMetricsConfigurationAsyncHelper(const Model::DeleteBucketMetricsConfigurationRequest& request, const DeleteBucketMetricsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void DeleteBucketOwnershipControlsAsyncHelper(const Model::DeleteBucketOwnershipControlsRequest& request, const DeleteBucketOwnershipControlsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void DeleteBucketPolicyAsyncHelper(const Model::DeleteBucketPolicyRequest& request, const DeleteBucketPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void DeleteBucketReplicationAsyncHelper(const Model::DeleteBucketReplicationRequest& request, const DeleteBucketReplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void DeleteBucketTaggingAsyncHelper(const Model::DeleteBucketTaggingRequest& request, const DeleteBucketTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void DeleteBucketWebsiteAsyncHelper(const Model::DeleteBucketWebsiteRequest& request, const DeleteBucketWebsiteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void DeleteObjectAsyncHelper(const Model::DeleteObjectRequest& request, const DeleteObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void DeleteObjectTaggingAsyncHelper(const Model::DeleteObjectTaggingRequest& request, const DeleteObjectTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void DeleteObjectsAsyncHelper(const Model::DeleteObjectsRequest& request, const DeleteObjectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void DeletePublicAccessBlockAsyncHelper(const Model::DeletePublicAccessBlockRequest& request, const DeletePublicAccessBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetBucketAccelerateConfigurationAsyncHelper(const Model::GetBucketAccelerateConfigurationRequest& request, const GetBucketAccelerateConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetBucketAclAsyncHelper(const Model::GetBucketAclRequest& request, const GetBucketAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetBucketAnalyticsConfigurationAsyncHelper(const Model::GetBucketAnalyticsConfigurationRequest& request, const GetBucketAnalyticsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetBucketCorsAsyncHelper(const Model::GetBucketCorsRequest& request, const GetBucketCorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetBucketEncryptionAsyncHelper(const Model::GetBucketEncryptionRequest& request, const GetBucketEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetBucketIntelligentTieringConfigurationAsyncHelper(const Model::GetBucketIntelligentTieringConfigurationRequest& request, const GetBucketIntelligentTieringConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetBucketInventoryConfigurationAsyncHelper(const Model::GetBucketInventoryConfigurationRequest& request, const GetBucketInventoryConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetBucketLifecycleConfigurationAsyncHelper(const Model::GetBucketLifecycleConfigurationRequest& request, const GetBucketLifecycleConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetBucketLocationAsyncHelper(const Model::GetBucketLocationRequest& request, const GetBucketLocationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetBucketLoggingAsyncHelper(const Model::GetBucketLoggingRequest& request, const GetBucketLoggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetBucketMetricsConfigurationAsyncHelper(const Model::GetBucketMetricsConfigurationRequest& request, const GetBucketMetricsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetBucketNotificationConfigurationAsyncHelper(const Model::GetBucketNotificationConfigurationRequest& request, const GetBucketNotificationConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetBucketOwnershipControlsAsyncHelper(const Model::GetBucketOwnershipControlsRequest& request, const GetBucketOwnershipControlsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetBucketPolicyAsyncHelper(const Model::GetBucketPolicyRequest& request, const GetBucketPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetBucketPolicyStatusAsyncHelper(const Model::GetBucketPolicyStatusRequest& request, const GetBucketPolicyStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetBucketReplicationAsyncHelper(const Model::GetBucketReplicationRequest& request, const GetBucketReplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetBucketRequestPaymentAsyncHelper(const Model::GetBucketRequestPaymentRequest& request, const GetBucketRequestPaymentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetBucketTaggingAsyncHelper(const Model::GetBucketTaggingRequest& request, const GetBucketTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetBucketVersioningAsyncHelper(const Model::GetBucketVersioningRequest& request, const GetBucketVersioningResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetBucketWebsiteAsyncHelper(const Model::GetBucketWebsiteRequest& request, const GetBucketWebsiteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetObjectAsyncHelper(const Model::GetObjectRequest& request, const GetObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetObjectAclAsyncHelper(const Model::GetObjectAclRequest& request, const GetObjectAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetObjectLegalHoldAsyncHelper(const Model::GetObjectLegalHoldRequest& request, const GetObjectLegalHoldResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetObjectLockConfigurationAsyncHelper(const Model::GetObjectLockConfigurationRequest& request, const GetObjectLockConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetObjectRetentionAsyncHelper(const Model::GetObjectRetentionRequest& request, const GetObjectRetentionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetObjectTaggingAsyncHelper(const Model::GetObjectTaggingRequest& request, const GetObjectTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetObjectTorrentAsyncHelper(const Model::GetObjectTorrentRequest& request, const GetObjectTorrentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void GetPublicAccessBlockAsyncHelper(const Model::GetPublicAccessBlockRequest& request, const GetPublicAccessBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void HeadBucketAsyncHelper(const Model::HeadBucketRequest& request, const HeadBucketResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void HeadObjectAsyncHelper(const Model::HeadObjectRequest& request, const HeadObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void ListBucketAnalyticsConfigurationsAsyncHelper(const Model::ListBucketAnalyticsConfigurationsRequest& request, const ListBucketAnalyticsConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void ListBucketIntelligentTieringConfigurationsAsyncHelper(const Model::ListBucketIntelligentTieringConfigurationsRequest& request, const ListBucketIntelligentTieringConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void ListBucketInventoryConfigurationsAsyncHelper(const Model::ListBucketInventoryConfigurationsRequest& request, const ListBucketInventoryConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void ListBucketMetricsConfigurationsAsyncHelper(const Model::ListBucketMetricsConfigurationsRequest& request, const ListBucketMetricsConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void ListBucketsAsyncHelper(const ListBucketsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void ListMultipartUploadsAsyncHelper(const Model::ListMultipartUploadsRequest& request, const ListMultipartUploadsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void ListObjectVersionsAsyncHelper(const Model::ListObjectVersionsRequest& request, const ListObjectVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void ListObjectsAsyncHelper(const Model::ListObjectsRequest& request, const ListObjectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void ListObjectsV2AsyncHelper(const Model::ListObjectsV2Request& request, const ListObjectsV2ResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void ListPartsAsyncHelper(const Model::ListPartsRequest& request, const ListPartsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void PutBucketAccelerateConfigurationAsyncHelper(const Model::PutBucketAccelerateConfigurationRequest& request, const PutBucketAccelerateConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void PutBucketAclAsyncHelper(const Model::PutBucketAclRequest& request, const PutBucketAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void PutBucketAnalyticsConfigurationAsyncHelper(const Model::PutBucketAnalyticsConfigurationRequest& request, const PutBucketAnalyticsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void PutBucketCorsAsyncHelper(const Model::PutBucketCorsRequest& request, const PutBucketCorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void PutBucketEncryptionAsyncHelper(const Model::PutBucketEncryptionRequest& request, const PutBucketEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void PutBucketIntelligentTieringConfigurationAsyncHelper(const Model::PutBucketIntelligentTieringConfigurationRequest& request, const PutBucketIntelligentTieringConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void PutBucketInventoryConfigurationAsyncHelper(const Model::PutBucketInventoryConfigurationRequest& request, const PutBucketInventoryConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void PutBucketLifecycleConfigurationAsyncHelper(const Model::PutBucketLifecycleConfigurationRequest& request, const PutBucketLifecycleConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void PutBucketLoggingAsyncHelper(const Model::PutBucketLoggingRequest& request, const PutBucketLoggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void PutBucketMetricsConfigurationAsyncHelper(const Model::PutBucketMetricsConfigurationRequest& request, const PutBucketMetricsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void PutBucketNotificationConfigurationAsyncHelper(const Model::PutBucketNotificationConfigurationRequest& request, const PutBucketNotificationConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void PutBucketOwnershipControlsAsyncHelper(const Model::PutBucketOwnershipControlsRequest& request, const PutBucketOwnershipControlsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void PutBucketPolicyAsyncHelper(const Model::PutBucketPolicyRequest& request, const PutBucketPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void PutBucketReplicationAsyncHelper(const Model::PutBucketReplicationRequest& request, const PutBucketReplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void PutBucketRequestPaymentAsyncHelper(const Model::PutBucketRequestPaymentRequest& request, const PutBucketRequestPaymentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void PutBucketTaggingAsyncHelper(const Model::PutBucketTaggingRequest& request, const PutBucketTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void PutBucketVersioningAsyncHelper(const Model::PutBucketVersioningRequest& request, const PutBucketVersioningResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void PutBucketWebsiteAsyncHelper(const Model::PutBucketWebsiteRequest& request, const PutBucketWebsiteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void PutObjectAsyncHelper(const Model::PutObjectRequest& request, const PutObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void PutObjectAclAsyncHelper(const Model::PutObjectAclRequest& request, const PutObjectAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void PutObjectLegalHoldAsyncHelper(const Model::PutObjectLegalHoldRequest& request, const PutObjectLegalHoldResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void PutObjectLockConfigurationAsyncHelper(const Model::PutObjectLockConfigurationRequest& request, const PutObjectLockConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void PutObjectRetentionAsyncHelper(const Model::PutObjectRetentionRequest& request, const PutObjectRetentionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void PutObjectTaggingAsyncHelper(const Model::PutObjectTaggingRequest& request, const PutObjectTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void PutPublicAccessBlockAsyncHelper(const Model::PutPublicAccessBlockRequest& request, const PutPublicAccessBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void RestoreObjectAsyncHelper(const Model::RestoreObjectRequest& request, const RestoreObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void SelectObjectContentAsyncHelper(Model::SelectObjectContentRequest& request, const SelectObjectContentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void UploadPartAsyncHelper(const Model::UploadPartRequest& request, const UploadPartResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void UploadPartCopyAsyncHelper(const Model::UploadPartCopyRequest& request, const UploadPartCopyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - void WriteGetObjectResponseAsyncHelper(const Model::WriteGetObjectResponseRequest& request, const WriteGetObjectResponseResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; - - Aws::String m_baseUri; - Aws::String m_scheme; - bool m_enableHostPrefixInjection; - Aws::String m_configScheme; + friend class Aws::Client::ClientWithAsyncTemplateMethods<S3Client>; + void init(const S3ClientConfiguration& clientConfiguration); + S3ClientConfiguration m_clientConfiguration; std::shared_ptr<Utils::Threading::Executor> m_executor; - bool m_useVirtualAddressing; - bool m_useDualStack; - bool m_useArnRegion; - bool m_useCustomEndpoint; - Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION m_USEast1RegionalEndpointOption; + std::shared_ptr<S3EndpointProviderBase> m_endpointProvider; }; } // namespace S3 diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3ClientConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3ClientConfiguration.h new file mode 100644 index 0000000000..771bd85a39 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3ClientConfiguration.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/client/GenericClientConfiguration.h> +#include <aws/core/auth/signer/AWSAuthV4Signer.h> + + +namespace Aws +{ + namespace S3 + { + enum class US_EAST_1_REGIONAL_ENDPOINT_OPTION + { + NOT_SET, + LEGACY, //stands for using global endpoint for us-east-1, + REGIONAL //stands for using regional endpoint for us-east-1 + }; + + struct AWS_S3_API S3ClientConfiguration : public Aws::Client::GenericClientConfiguration</*EndpointDiscoverySupported*/true> + { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration</*EndpointDiscoverySupported*/true>; + + S3ClientConfiguration(); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + S3ClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + S3ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Converting constructors for compatibility with a legacy code + */ + S3ClientConfiguration(const Client::ClientConfiguration& config, + Client::AWSAuthV4Signer::PayloadSigningPolicy iPayloadSigningPolicy = Client::AWSAuthV4Signer::PayloadSigningPolicy::Never, + bool iUseVirtualAddressing = true, + US_EAST_1_REGIONAL_ENDPOINT_OPTION iUseUSEast1RegionalEndPointOption = US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET); + + bool useVirtualAddressing = true; + US_EAST_1_REGIONAL_ENDPOINT_OPTION useUSEast1RegionalEndPointOption = US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET; + bool disableMultiRegionAccessPoints = false; + bool useArnRegion = false; + Client::AWSAuthV4Signer::PayloadSigningPolicy payloadSigningPolicy = Client::AWSAuthV4Signer::PayloadSigningPolicy::RequestDependent; + private: + void LoadS3SpecificConfig(const Aws::String& profileName); + }; + } +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Endpoint.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Endpoint.h deleted file mode 100644 index 64c2fc2c44..0000000000 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Endpoint.h +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0. - */ - -#pragma once -#include <aws/s3/S3_EXPORTS.h> -#include <aws/core/Region.h> -#include <aws/core/utils/memory/stl/AWSString.h> -#include <aws/s3/S3ARN.h> - -namespace Aws -{ - -namespace S3 -{ -namespace S3Endpoint -{ - /** - * Compute endpoint based on region. - * @param regionName The AWS region used in the endpoint - * @param useDualStack Using dual-stack endpoint if true - * @param USEast1UseRegionalEndpoint Using global endpoint for us-east-1 if the value is LEGACY, or using regional endpoint if it's REGIONAL - */ - AWS_S3_API Aws::String ForRegion(const Aws::String& regionName, bool useDualStack = false, bool USEast1UseRegionalEndpoint = false, const Aws::String& serviceName = ""); - - /** - * Compute endpoint based on Access Point ARN. - * @param arn The S3 Access Point ARN - * @param regionNameOverride Override region name in ARN if it's not empty - * @param useDualStack Using dual-stack endpoint if true - * @param endpointOverride Override endpoint if it's not empty - */ - AWS_S3_API Aws::String ForAccessPointArn(const S3ARN& arn, const Aws::String& regionNameOverride = "", bool useDualStack = false, const Aws::String& endpointOverride = ""); - - /** - * Compute endpoint based on Outposts ARN. - * @param arn The S3 Outposts ARN - * @param regionNameOverride Override region name in ARN if it's not empty - * @param useDualStack Using dual-stack endpoint if true - * @param endpointOverride Override endpoint if it's not empty - */ - AWS_S3_API Aws::String ForOutpostsArn(const S3ARN& arn, const Aws::String& regionNameOverride = "", bool useDualStack = false, const Aws::String& endpointOverride = ""); - - /** - * Compute endpoint based on Object Lambda Access Point ARN. - * @param arn The S3 Object Lambda Access Point ARN - * @param regionNameOverride Override region name in ARN if it's not empty - * @param useDualStack Using dual-stack endpoint if true - * @param endpointOverride Override endpoint if it's not empty - */ - AWS_S3_API Aws::String ForObjectLambdaAccessPointArn(const S3ARN& arn, const Aws::String& regionNameOverride = "", bool useDualStack = false, const Aws::String& endpointOverride = ""); -} // namespace S3Endpoint -} // namespace S3 -} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3EndpointProvider.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3EndpointProvider.h new file mode 100644 index 0000000000..d62a5c0582 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3EndpointProvider.h @@ -0,0 +1,114 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3ClientConfiguration.h> +#include <aws/core/endpoint/DefaultEndpointProvider.h> +#include <aws/core/endpoint/EndpointParameter.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSVector.h> + +#include <aws/s3/S3EndpointRules.h> + + +namespace Aws +{ +namespace S3 +{ +namespace Endpoint +{ +using S3ClientConfiguration = Aws::S3::S3ClientConfiguration; +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +class AWS_S3_API S3ClientContextParameters : public Aws::Endpoint::ClientContextParameters +{ +public: + virtual ~S3ClientContextParameters(){}; + + /** + * Forces this client to use path-style addressing for buckets. + */ + void SetForcePathStyle(bool value); + const ClientContextParameters::EndpointParameter& GetForcePathStyle() const; + + /** + * Disables this client's usage of Multi-Region Access Points. + */ + void SetDisableMultiRegionAccessPoints(bool value); + const ClientContextParameters::EndpointParameter& GetDisableMultiRegionAccessPoints() const; + + /** + * Enables this client to use an ARN's region when constructing an endpoint instead of the client's configured region. + */ + void SetUseArnRegion(bool value); + const ClientContextParameters::EndpointParameter& GetUseArnRegion() const; + + /** + * Enables this client to use S3 Transfer Acceleration endpoints. + */ + void SetAccelerate(bool value); + const ClientContextParameters::EndpointParameter& GetAccelerate() const; +}; + +class AWS_S3_API S3BuiltInParameters : public Aws::Endpoint::BuiltInParameters +{ +public: + virtual ~S3BuiltInParameters(){}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const S3ClientConfiguration& config); +}; + +/** + * The type for the S3 Client Endpoint Provider. + * Inherit from this Base class / "Interface" should you want to provide a custom endpoint provider. + * The SDK must use service-specific type for each service per specification. + */ +using S3EndpointProviderBase = + EndpointProviderBase<S3ClientConfiguration, S3BuiltInParameters, S3ClientContextParameters>; + +using S3DefaultEpProviderBase = + DefaultEndpointProvider<S3ClientConfiguration, S3BuiltInParameters, S3ClientContextParameters>; + +} // namespace Endpoint +} // namespace S3 + +namespace Endpoint +{ +/** + * Export endpoint provider symbols from DLL + */ +template class AWS_S3_API + Aws::Endpoint::EndpointProviderBase<S3::Endpoint::S3ClientConfiguration, S3::Endpoint::S3BuiltInParameters, S3::Endpoint::S3ClientContextParameters>; + +template class AWS_S3_API + Aws::Endpoint::DefaultEndpointProvider<S3::Endpoint::S3ClientConfiguration, S3::Endpoint::S3BuiltInParameters, S3::Endpoint::S3ClientContextParameters>; +} // namespace Endpoint + +namespace S3 +{ +namespace Endpoint +{ +/** + * Default endpoint provider used for this service + */ +class AWS_S3_API S3EndpointProvider : public S3DefaultEpProviderBase +{ +public: + using S3ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + S3EndpointProvider() + : S3DefaultEpProviderBase(Aws::S3::S3EndpointRules::GetRulesBlob(), Aws::S3::S3EndpointRules::RulesBlobSize) + {} + + ~S3EndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3EndpointRules.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3EndpointRules.h new file mode 100644 index 0000000000..6185d3ed78 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3EndpointRules.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <cstddef> +#include <aws/s3/S3_EXPORTS.h> + +namespace Aws +{ +namespace S3 +{ +class S3EndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Request.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Request.h index 3747292c2f..b4f966919e 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Request.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Request.h @@ -5,6 +5,7 @@ #pragma once #include <aws/s3/S3_EXPORTS.h> +#include <aws/core/endpoint/AWSEndpoint.h> #include <aws/core/AmazonSerializableWebServiceRequest.h> #include <aws/core/utils/UnreferencedParam.h> #include <aws/core/http/HttpRequest.h> @@ -17,6 +18,9 @@ namespace S3 class AWS_S3_API S3Request : public Aws::AmazonSerializableWebServiceRequest { public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + virtual ~S3Request () {} void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); } diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3ServiceClientModel.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3ServiceClientModel.h new file mode 100644 index 0000000000..73df2297e1 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3ServiceClientModel.h @@ -0,0 +1,503 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +/* Generic header includes */ +#include <aws/s3/S3Errors.h> +#include <aws/s3/S3ClientConfiguration.h> +#include <aws/core/client/AWSError.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/client/AsyncCallerContext.h> +#include <aws/core/http/HttpTypes.h> +#include <aws/s3/S3EndpointProvider.h> +#include <future> +#include <functional> +/* End of generic header includes */ + +/* Service model headers required in S3Client header */ +#include <aws/s3/model/AbortMultipartUploadResult.h> +#include <aws/s3/model/CompleteMultipartUploadResult.h> +#include <aws/s3/model/CopyObjectResult.h> +#include <aws/s3/model/CreateBucketResult.h> +#include <aws/s3/model/CreateMultipartUploadResult.h> +#include <aws/s3/model/DeleteObjectResult.h> +#include <aws/s3/model/DeleteObjectTaggingResult.h> +#include <aws/s3/model/DeleteObjectsResult.h> +#include <aws/s3/model/GetBucketAccelerateConfigurationResult.h> +#include <aws/s3/model/GetBucketAclResult.h> +#include <aws/s3/model/GetBucketAnalyticsConfigurationResult.h> +#include <aws/s3/model/GetBucketCorsResult.h> +#include <aws/s3/model/GetBucketEncryptionResult.h> +#include <aws/s3/model/GetBucketIntelligentTieringConfigurationResult.h> +#include <aws/s3/model/GetBucketInventoryConfigurationResult.h> +#include <aws/s3/model/GetBucketLifecycleConfigurationResult.h> +#include <aws/s3/model/GetBucketLocationResult.h> +#include <aws/s3/model/GetBucketLoggingResult.h> +#include <aws/s3/model/GetBucketMetricsConfigurationResult.h> +#include <aws/s3/model/GetBucketNotificationConfigurationResult.h> +#include <aws/s3/model/GetBucketOwnershipControlsResult.h> +#include <aws/s3/model/GetBucketPolicyResult.h> +#include <aws/s3/model/GetBucketPolicyStatusResult.h> +#include <aws/s3/model/GetBucketReplicationResult.h> +#include <aws/s3/model/GetBucketRequestPaymentResult.h> +#include <aws/s3/model/GetBucketTaggingResult.h> +#include <aws/s3/model/GetBucketVersioningResult.h> +#include <aws/s3/model/GetBucketWebsiteResult.h> +#include <aws/s3/model/GetObjectResult.h> +#include <aws/s3/model/GetObjectAclResult.h> +#include <aws/s3/model/GetObjectAttributesResult.h> +#include <aws/s3/model/GetObjectLegalHoldResult.h> +#include <aws/s3/model/GetObjectLockConfigurationResult.h> +#include <aws/s3/model/GetObjectRetentionResult.h> +#include <aws/s3/model/GetObjectTaggingResult.h> +#include <aws/s3/model/GetObjectTorrentResult.h> +#include <aws/s3/model/GetPublicAccessBlockResult.h> +#include <aws/s3/model/HeadObjectResult.h> +#include <aws/s3/model/ListBucketAnalyticsConfigurationsResult.h> +#include <aws/s3/model/ListBucketIntelligentTieringConfigurationsResult.h> +#include <aws/s3/model/ListBucketInventoryConfigurationsResult.h> +#include <aws/s3/model/ListBucketMetricsConfigurationsResult.h> +#include <aws/s3/model/ListBucketsResult.h> +#include <aws/s3/model/ListMultipartUploadsResult.h> +#include <aws/s3/model/ListObjectVersionsResult.h> +#include <aws/s3/model/ListObjectsResult.h> +#include <aws/s3/model/ListObjectsV2Result.h> +#include <aws/s3/model/ListPartsResult.h> +#include <aws/s3/model/PutObjectResult.h> +#include <aws/s3/model/PutObjectAclResult.h> +#include <aws/s3/model/PutObjectLegalHoldResult.h> +#include <aws/s3/model/PutObjectLockConfigurationResult.h> +#include <aws/s3/model/PutObjectRetentionResult.h> +#include <aws/s3/model/PutObjectTaggingResult.h> +#include <aws/s3/model/RestoreObjectResult.h> +#include <aws/s3/model/UploadPartResult.h> +#include <aws/s3/model/UploadPartCopyResult.h> +#include <aws/core/NoResult.h> +/* End of service model headers required in S3Client header */ + +namespace Aws +{ + namespace Http + { + class HttpClient; + class HttpClientFactory; + } // namespace Http + + namespace Utils + { + template< typename R, typename E> class Outcome; + + namespace Threading + { + class Executor; + } // namespace Threading + } // namespace Utils + + namespace Auth + { + class AWSCredentials; + class AWSCredentialsProvider; + } // namespace Auth + + namespace Client + { + class RetryStrategy; + } // namespace Client + + namespace S3 + { + using S3EndpointProviderBase = Aws::S3::Endpoint::S3EndpointProviderBase; + using S3EndpointProvider = Aws::S3::Endpoint::S3EndpointProvider; + + namespace Model + { + /* Service model forward declarations required in S3Client header */ + class AbortMultipartUploadRequest; + class CompleteMultipartUploadRequest; + class CopyObjectRequest; + class CreateBucketRequest; + class CreateMultipartUploadRequest; + class DeleteBucketRequest; + class DeleteBucketAnalyticsConfigurationRequest; + class DeleteBucketCorsRequest; + class DeleteBucketEncryptionRequest; + class DeleteBucketIntelligentTieringConfigurationRequest; + class DeleteBucketInventoryConfigurationRequest; + class DeleteBucketLifecycleRequest; + class DeleteBucketMetricsConfigurationRequest; + class DeleteBucketOwnershipControlsRequest; + class DeleteBucketPolicyRequest; + class DeleteBucketReplicationRequest; + class DeleteBucketTaggingRequest; + class DeleteBucketWebsiteRequest; + class DeleteObjectRequest; + class DeleteObjectTaggingRequest; + class DeleteObjectsRequest; + class DeletePublicAccessBlockRequest; + class GetBucketAccelerateConfigurationRequest; + class GetBucketAclRequest; + class GetBucketAnalyticsConfigurationRequest; + class GetBucketCorsRequest; + class GetBucketEncryptionRequest; + class GetBucketIntelligentTieringConfigurationRequest; + class GetBucketInventoryConfigurationRequest; + class GetBucketLifecycleConfigurationRequest; + class GetBucketLocationRequest; + class GetBucketLoggingRequest; + class GetBucketMetricsConfigurationRequest; + class GetBucketNotificationConfigurationRequest; + class GetBucketOwnershipControlsRequest; + class GetBucketPolicyRequest; + class GetBucketPolicyStatusRequest; + class GetBucketReplicationRequest; + class GetBucketRequestPaymentRequest; + class GetBucketTaggingRequest; + class GetBucketVersioningRequest; + class GetBucketWebsiteRequest; + class GetObjectRequest; + class GetObjectAclRequest; + class GetObjectAttributesRequest; + class GetObjectLegalHoldRequest; + class GetObjectLockConfigurationRequest; + class GetObjectRetentionRequest; + class GetObjectTaggingRequest; + class GetObjectTorrentRequest; + class GetPublicAccessBlockRequest; + class HeadBucketRequest; + class HeadObjectRequest; + class ListBucketAnalyticsConfigurationsRequest; + class ListBucketIntelligentTieringConfigurationsRequest; + class ListBucketInventoryConfigurationsRequest; + class ListBucketMetricsConfigurationsRequest; + class ListMultipartUploadsRequest; + class ListObjectVersionsRequest; + class ListObjectsRequest; + class ListObjectsV2Request; + class ListPartsRequest; + class PutBucketAccelerateConfigurationRequest; + class PutBucketAclRequest; + class PutBucketAnalyticsConfigurationRequest; + class PutBucketCorsRequest; + class PutBucketEncryptionRequest; + class PutBucketIntelligentTieringConfigurationRequest; + class PutBucketInventoryConfigurationRequest; + class PutBucketLifecycleConfigurationRequest; + class PutBucketLoggingRequest; + class PutBucketMetricsConfigurationRequest; + class PutBucketNotificationConfigurationRequest; + class PutBucketOwnershipControlsRequest; + class PutBucketPolicyRequest; + class PutBucketReplicationRequest; + class PutBucketRequestPaymentRequest; + class PutBucketTaggingRequest; + class PutBucketVersioningRequest; + class PutBucketWebsiteRequest; + class PutObjectRequest; + class PutObjectAclRequest; + class PutObjectLegalHoldRequest; + class PutObjectLockConfigurationRequest; + class PutObjectRetentionRequest; + class PutObjectTaggingRequest; + class PutPublicAccessBlockRequest; + class RestoreObjectRequest; + class SelectObjectContentRequest; + class UploadPartRequest; + class UploadPartCopyRequest; + class WriteGetObjectResponseRequest; + /* End of service model forward declarations required in S3Client header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome<AbortMultipartUploadResult, S3Error> AbortMultipartUploadOutcome; + typedef Aws::Utils::Outcome<CompleteMultipartUploadResult, S3Error> CompleteMultipartUploadOutcome; + typedef Aws::Utils::Outcome<CopyObjectResult, S3Error> CopyObjectOutcome; + typedef Aws::Utils::Outcome<CreateBucketResult, S3Error> CreateBucketOutcome; + typedef Aws::Utils::Outcome<CreateMultipartUploadResult, S3Error> CreateMultipartUploadOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketAnalyticsConfigurationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketCorsOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketEncryptionOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketIntelligentTieringConfigurationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketInventoryConfigurationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketLifecycleOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketMetricsConfigurationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketOwnershipControlsOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketPolicyOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketReplicationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketTaggingOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketWebsiteOutcome; + typedef Aws::Utils::Outcome<DeleteObjectResult, S3Error> DeleteObjectOutcome; + typedef Aws::Utils::Outcome<DeleteObjectTaggingResult, S3Error> DeleteObjectTaggingOutcome; + typedef Aws::Utils::Outcome<DeleteObjectsResult, S3Error> DeleteObjectsOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeletePublicAccessBlockOutcome; + typedef Aws::Utils::Outcome<GetBucketAccelerateConfigurationResult, S3Error> GetBucketAccelerateConfigurationOutcome; + typedef Aws::Utils::Outcome<GetBucketAclResult, S3Error> GetBucketAclOutcome; + typedef Aws::Utils::Outcome<GetBucketAnalyticsConfigurationResult, S3Error> GetBucketAnalyticsConfigurationOutcome; + typedef Aws::Utils::Outcome<GetBucketCorsResult, S3Error> GetBucketCorsOutcome; + typedef Aws::Utils::Outcome<GetBucketEncryptionResult, S3Error> GetBucketEncryptionOutcome; + typedef Aws::Utils::Outcome<GetBucketIntelligentTieringConfigurationResult, S3Error> GetBucketIntelligentTieringConfigurationOutcome; + typedef Aws::Utils::Outcome<GetBucketInventoryConfigurationResult, S3Error> GetBucketInventoryConfigurationOutcome; + typedef Aws::Utils::Outcome<GetBucketLifecycleConfigurationResult, S3Error> GetBucketLifecycleConfigurationOutcome; + typedef Aws::Utils::Outcome<GetBucketLocationResult, S3Error> GetBucketLocationOutcome; + typedef Aws::Utils::Outcome<GetBucketLoggingResult, S3Error> GetBucketLoggingOutcome; + typedef Aws::Utils::Outcome<GetBucketMetricsConfigurationResult, S3Error> GetBucketMetricsConfigurationOutcome; + typedef Aws::Utils::Outcome<GetBucketNotificationConfigurationResult, S3Error> GetBucketNotificationConfigurationOutcome; + typedef Aws::Utils::Outcome<GetBucketOwnershipControlsResult, S3Error> GetBucketOwnershipControlsOutcome; + typedef Aws::Utils::Outcome<GetBucketPolicyResult, S3Error> GetBucketPolicyOutcome; + typedef Aws::Utils::Outcome<GetBucketPolicyStatusResult, S3Error> GetBucketPolicyStatusOutcome; + typedef Aws::Utils::Outcome<GetBucketReplicationResult, S3Error> GetBucketReplicationOutcome; + typedef Aws::Utils::Outcome<GetBucketRequestPaymentResult, S3Error> GetBucketRequestPaymentOutcome; + typedef Aws::Utils::Outcome<GetBucketTaggingResult, S3Error> GetBucketTaggingOutcome; + typedef Aws::Utils::Outcome<GetBucketVersioningResult, S3Error> GetBucketVersioningOutcome; + typedef Aws::Utils::Outcome<GetBucketWebsiteResult, S3Error> GetBucketWebsiteOutcome; + typedef Aws::Utils::Outcome<GetObjectResult, S3Error> GetObjectOutcome; + typedef Aws::Utils::Outcome<GetObjectAclResult, S3Error> GetObjectAclOutcome; + typedef Aws::Utils::Outcome<GetObjectAttributesResult, S3Error> GetObjectAttributesOutcome; + typedef Aws::Utils::Outcome<GetObjectLegalHoldResult, S3Error> GetObjectLegalHoldOutcome; + typedef Aws::Utils::Outcome<GetObjectLockConfigurationResult, S3Error> GetObjectLockConfigurationOutcome; + typedef Aws::Utils::Outcome<GetObjectRetentionResult, S3Error> GetObjectRetentionOutcome; + typedef Aws::Utils::Outcome<GetObjectTaggingResult, S3Error> GetObjectTaggingOutcome; + typedef Aws::Utils::Outcome<GetObjectTorrentResult, S3Error> GetObjectTorrentOutcome; + typedef Aws::Utils::Outcome<GetPublicAccessBlockResult, S3Error> GetPublicAccessBlockOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> HeadBucketOutcome; + typedef Aws::Utils::Outcome<HeadObjectResult, S3Error> HeadObjectOutcome; + typedef Aws::Utils::Outcome<ListBucketAnalyticsConfigurationsResult, S3Error> ListBucketAnalyticsConfigurationsOutcome; + typedef Aws::Utils::Outcome<ListBucketIntelligentTieringConfigurationsResult, S3Error> ListBucketIntelligentTieringConfigurationsOutcome; + typedef Aws::Utils::Outcome<ListBucketInventoryConfigurationsResult, S3Error> ListBucketInventoryConfigurationsOutcome; + typedef Aws::Utils::Outcome<ListBucketMetricsConfigurationsResult, S3Error> ListBucketMetricsConfigurationsOutcome; + typedef Aws::Utils::Outcome<ListBucketsResult, S3Error> ListBucketsOutcome; + typedef Aws::Utils::Outcome<ListMultipartUploadsResult, S3Error> ListMultipartUploadsOutcome; + typedef Aws::Utils::Outcome<ListObjectVersionsResult, S3Error> ListObjectVersionsOutcome; + typedef Aws::Utils::Outcome<ListObjectsResult, S3Error> ListObjectsOutcome; + typedef Aws::Utils::Outcome<ListObjectsV2Result, S3Error> ListObjectsV2Outcome; + typedef Aws::Utils::Outcome<ListPartsResult, S3Error> ListPartsOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketAccelerateConfigurationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketAclOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketAnalyticsConfigurationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketCorsOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketEncryptionOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketIntelligentTieringConfigurationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketInventoryConfigurationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketLifecycleConfigurationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketLoggingOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketMetricsConfigurationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketNotificationConfigurationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketOwnershipControlsOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketPolicyOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketReplicationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketRequestPaymentOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketTaggingOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketVersioningOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketWebsiteOutcome; + typedef Aws::Utils::Outcome<PutObjectResult, S3Error> PutObjectOutcome; + typedef Aws::Utils::Outcome<PutObjectAclResult, S3Error> PutObjectAclOutcome; + typedef Aws::Utils::Outcome<PutObjectLegalHoldResult, S3Error> PutObjectLegalHoldOutcome; + typedef Aws::Utils::Outcome<PutObjectLockConfigurationResult, S3Error> PutObjectLockConfigurationOutcome; + typedef Aws::Utils::Outcome<PutObjectRetentionResult, S3Error> PutObjectRetentionOutcome; + typedef Aws::Utils::Outcome<PutObjectTaggingResult, S3Error> PutObjectTaggingOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutPublicAccessBlockOutcome; + typedef Aws::Utils::Outcome<RestoreObjectResult, S3Error> RestoreObjectOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> SelectObjectContentOutcome; + typedef Aws::Utils::Outcome<UploadPartResult, S3Error> UploadPartOutcome; + typedef Aws::Utils::Outcome<UploadPartCopyResult, S3Error> UploadPartCopyOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> WriteGetObjectResponseOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future<AbortMultipartUploadOutcome> AbortMultipartUploadOutcomeCallable; + typedef std::future<CompleteMultipartUploadOutcome> CompleteMultipartUploadOutcomeCallable; + typedef std::future<CopyObjectOutcome> CopyObjectOutcomeCallable; + typedef std::future<CreateBucketOutcome> CreateBucketOutcomeCallable; + typedef std::future<CreateMultipartUploadOutcome> CreateMultipartUploadOutcomeCallable; + typedef std::future<DeleteBucketOutcome> DeleteBucketOutcomeCallable; + typedef std::future<DeleteBucketAnalyticsConfigurationOutcome> DeleteBucketAnalyticsConfigurationOutcomeCallable; + typedef std::future<DeleteBucketCorsOutcome> DeleteBucketCorsOutcomeCallable; + typedef std::future<DeleteBucketEncryptionOutcome> DeleteBucketEncryptionOutcomeCallable; + typedef std::future<DeleteBucketIntelligentTieringConfigurationOutcome> DeleteBucketIntelligentTieringConfigurationOutcomeCallable; + typedef std::future<DeleteBucketInventoryConfigurationOutcome> DeleteBucketInventoryConfigurationOutcomeCallable; + typedef std::future<DeleteBucketLifecycleOutcome> DeleteBucketLifecycleOutcomeCallable; + typedef std::future<DeleteBucketMetricsConfigurationOutcome> DeleteBucketMetricsConfigurationOutcomeCallable; + typedef std::future<DeleteBucketOwnershipControlsOutcome> DeleteBucketOwnershipControlsOutcomeCallable; + typedef std::future<DeleteBucketPolicyOutcome> DeleteBucketPolicyOutcomeCallable; + typedef std::future<DeleteBucketReplicationOutcome> DeleteBucketReplicationOutcomeCallable; + typedef std::future<DeleteBucketTaggingOutcome> DeleteBucketTaggingOutcomeCallable; + typedef std::future<DeleteBucketWebsiteOutcome> DeleteBucketWebsiteOutcomeCallable; + typedef std::future<DeleteObjectOutcome> DeleteObjectOutcomeCallable; + typedef std::future<DeleteObjectTaggingOutcome> DeleteObjectTaggingOutcomeCallable; + typedef std::future<DeleteObjectsOutcome> DeleteObjectsOutcomeCallable; + typedef std::future<DeletePublicAccessBlockOutcome> DeletePublicAccessBlockOutcomeCallable; + typedef std::future<GetBucketAccelerateConfigurationOutcome> GetBucketAccelerateConfigurationOutcomeCallable; + typedef std::future<GetBucketAclOutcome> GetBucketAclOutcomeCallable; + typedef std::future<GetBucketAnalyticsConfigurationOutcome> GetBucketAnalyticsConfigurationOutcomeCallable; + typedef std::future<GetBucketCorsOutcome> GetBucketCorsOutcomeCallable; + typedef std::future<GetBucketEncryptionOutcome> GetBucketEncryptionOutcomeCallable; + typedef std::future<GetBucketIntelligentTieringConfigurationOutcome> GetBucketIntelligentTieringConfigurationOutcomeCallable; + typedef std::future<GetBucketInventoryConfigurationOutcome> GetBucketInventoryConfigurationOutcomeCallable; + typedef std::future<GetBucketLifecycleConfigurationOutcome> GetBucketLifecycleConfigurationOutcomeCallable; + typedef std::future<GetBucketLocationOutcome> GetBucketLocationOutcomeCallable; + typedef std::future<GetBucketLoggingOutcome> GetBucketLoggingOutcomeCallable; + typedef std::future<GetBucketMetricsConfigurationOutcome> GetBucketMetricsConfigurationOutcomeCallable; + typedef std::future<GetBucketNotificationConfigurationOutcome> GetBucketNotificationConfigurationOutcomeCallable; + typedef std::future<GetBucketOwnershipControlsOutcome> GetBucketOwnershipControlsOutcomeCallable; + typedef std::future<GetBucketPolicyOutcome> GetBucketPolicyOutcomeCallable; + typedef std::future<GetBucketPolicyStatusOutcome> GetBucketPolicyStatusOutcomeCallable; + typedef std::future<GetBucketReplicationOutcome> GetBucketReplicationOutcomeCallable; + typedef std::future<GetBucketRequestPaymentOutcome> GetBucketRequestPaymentOutcomeCallable; + typedef std::future<GetBucketTaggingOutcome> GetBucketTaggingOutcomeCallable; + typedef std::future<GetBucketVersioningOutcome> GetBucketVersioningOutcomeCallable; + typedef std::future<GetBucketWebsiteOutcome> GetBucketWebsiteOutcomeCallable; + typedef std::future<GetObjectOutcome> GetObjectOutcomeCallable; + typedef std::future<GetObjectAclOutcome> GetObjectAclOutcomeCallable; + typedef std::future<GetObjectAttributesOutcome> GetObjectAttributesOutcomeCallable; + typedef std::future<GetObjectLegalHoldOutcome> GetObjectLegalHoldOutcomeCallable; + typedef std::future<GetObjectLockConfigurationOutcome> GetObjectLockConfigurationOutcomeCallable; + typedef std::future<GetObjectRetentionOutcome> GetObjectRetentionOutcomeCallable; + typedef std::future<GetObjectTaggingOutcome> GetObjectTaggingOutcomeCallable; + typedef std::future<GetObjectTorrentOutcome> GetObjectTorrentOutcomeCallable; + typedef std::future<GetPublicAccessBlockOutcome> GetPublicAccessBlockOutcomeCallable; + typedef std::future<HeadBucketOutcome> HeadBucketOutcomeCallable; + typedef std::future<HeadObjectOutcome> HeadObjectOutcomeCallable; + typedef std::future<ListBucketAnalyticsConfigurationsOutcome> ListBucketAnalyticsConfigurationsOutcomeCallable; + typedef std::future<ListBucketIntelligentTieringConfigurationsOutcome> ListBucketIntelligentTieringConfigurationsOutcomeCallable; + typedef std::future<ListBucketInventoryConfigurationsOutcome> ListBucketInventoryConfigurationsOutcomeCallable; + typedef std::future<ListBucketMetricsConfigurationsOutcome> ListBucketMetricsConfigurationsOutcomeCallable; + typedef std::future<ListBucketsOutcome> ListBucketsOutcomeCallable; + typedef std::future<ListMultipartUploadsOutcome> ListMultipartUploadsOutcomeCallable; + typedef std::future<ListObjectVersionsOutcome> ListObjectVersionsOutcomeCallable; + typedef std::future<ListObjectsOutcome> ListObjectsOutcomeCallable; + typedef std::future<ListObjectsV2Outcome> ListObjectsV2OutcomeCallable; + typedef std::future<ListPartsOutcome> ListPartsOutcomeCallable; + typedef std::future<PutBucketAccelerateConfigurationOutcome> PutBucketAccelerateConfigurationOutcomeCallable; + typedef std::future<PutBucketAclOutcome> PutBucketAclOutcomeCallable; + typedef std::future<PutBucketAnalyticsConfigurationOutcome> PutBucketAnalyticsConfigurationOutcomeCallable; + typedef std::future<PutBucketCorsOutcome> PutBucketCorsOutcomeCallable; + typedef std::future<PutBucketEncryptionOutcome> PutBucketEncryptionOutcomeCallable; + typedef std::future<PutBucketIntelligentTieringConfigurationOutcome> PutBucketIntelligentTieringConfigurationOutcomeCallable; + typedef std::future<PutBucketInventoryConfigurationOutcome> PutBucketInventoryConfigurationOutcomeCallable; + typedef std::future<PutBucketLifecycleConfigurationOutcome> PutBucketLifecycleConfigurationOutcomeCallable; + typedef std::future<PutBucketLoggingOutcome> PutBucketLoggingOutcomeCallable; + typedef std::future<PutBucketMetricsConfigurationOutcome> PutBucketMetricsConfigurationOutcomeCallable; + typedef std::future<PutBucketNotificationConfigurationOutcome> PutBucketNotificationConfigurationOutcomeCallable; + typedef std::future<PutBucketOwnershipControlsOutcome> PutBucketOwnershipControlsOutcomeCallable; + typedef std::future<PutBucketPolicyOutcome> PutBucketPolicyOutcomeCallable; + typedef std::future<PutBucketReplicationOutcome> PutBucketReplicationOutcomeCallable; + typedef std::future<PutBucketRequestPaymentOutcome> PutBucketRequestPaymentOutcomeCallable; + typedef std::future<PutBucketTaggingOutcome> PutBucketTaggingOutcomeCallable; + typedef std::future<PutBucketVersioningOutcome> PutBucketVersioningOutcomeCallable; + typedef std::future<PutBucketWebsiteOutcome> PutBucketWebsiteOutcomeCallable; + typedef std::future<PutObjectOutcome> PutObjectOutcomeCallable; + typedef std::future<PutObjectAclOutcome> PutObjectAclOutcomeCallable; + typedef std::future<PutObjectLegalHoldOutcome> PutObjectLegalHoldOutcomeCallable; + typedef std::future<PutObjectLockConfigurationOutcome> PutObjectLockConfigurationOutcomeCallable; + typedef std::future<PutObjectRetentionOutcome> PutObjectRetentionOutcomeCallable; + typedef std::future<PutObjectTaggingOutcome> PutObjectTaggingOutcomeCallable; + typedef std::future<PutPublicAccessBlockOutcome> PutPublicAccessBlockOutcomeCallable; + typedef std::future<RestoreObjectOutcome> RestoreObjectOutcomeCallable; + typedef std::future<SelectObjectContentOutcome> SelectObjectContentOutcomeCallable; + typedef std::future<UploadPartOutcome> UploadPartOutcomeCallable; + typedef std::future<UploadPartCopyOutcome> UploadPartCopyOutcomeCallable; + typedef std::future<WriteGetObjectResponseOutcome> WriteGetObjectResponseOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class S3Client; + + /* Service model async handlers definitions */ + typedef std::function<void(const S3Client*, const Model::AbortMultipartUploadRequest&, const Model::AbortMultipartUploadOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AbortMultipartUploadResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::CompleteMultipartUploadRequest&, const Model::CompleteMultipartUploadOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CompleteMultipartUploadResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::CopyObjectRequest&, const Model::CopyObjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CopyObjectResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::CreateBucketRequest&, const Model::CreateBucketOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateBucketResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::CreateMultipartUploadRequest&, const Model::CreateMultipartUploadOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateMultipartUploadResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketRequest&, const Model::DeleteBucketOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketAnalyticsConfigurationRequest&, const Model::DeleteBucketAnalyticsConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketAnalyticsConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketCorsRequest&, const Model::DeleteBucketCorsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketCorsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketEncryptionRequest&, const Model::DeleteBucketEncryptionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketEncryptionResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketIntelligentTieringConfigurationRequest&, const Model::DeleteBucketIntelligentTieringConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketIntelligentTieringConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketInventoryConfigurationRequest&, const Model::DeleteBucketInventoryConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketInventoryConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketLifecycleRequest&, const Model::DeleteBucketLifecycleOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketLifecycleResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketMetricsConfigurationRequest&, const Model::DeleteBucketMetricsConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketMetricsConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketOwnershipControlsRequest&, const Model::DeleteBucketOwnershipControlsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketOwnershipControlsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketPolicyRequest&, const Model::DeleteBucketPolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketPolicyResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketReplicationRequest&, const Model::DeleteBucketReplicationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketReplicationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketTaggingRequest&, const Model::DeleteBucketTaggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketTaggingResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketWebsiteRequest&, const Model::DeleteBucketWebsiteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketWebsiteResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteObjectRequest&, const Model::DeleteObjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteObjectResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteObjectTaggingRequest&, const Model::DeleteObjectTaggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteObjectTaggingResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteObjectsRequest&, const Model::DeleteObjectsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteObjectsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeletePublicAccessBlockRequest&, const Model::DeletePublicAccessBlockOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeletePublicAccessBlockResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketAccelerateConfigurationRequest&, const Model::GetBucketAccelerateConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketAccelerateConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketAclRequest&, const Model::GetBucketAclOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketAclResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketAnalyticsConfigurationRequest&, const Model::GetBucketAnalyticsConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketAnalyticsConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketCorsRequest&, const Model::GetBucketCorsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketCorsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketEncryptionRequest&, const Model::GetBucketEncryptionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketEncryptionResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketIntelligentTieringConfigurationRequest&, const Model::GetBucketIntelligentTieringConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketIntelligentTieringConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketInventoryConfigurationRequest&, const Model::GetBucketInventoryConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketInventoryConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketLifecycleConfigurationRequest&, const Model::GetBucketLifecycleConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketLifecycleConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketLocationRequest&, const Model::GetBucketLocationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketLocationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketLoggingRequest&, const Model::GetBucketLoggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketLoggingResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketMetricsConfigurationRequest&, const Model::GetBucketMetricsConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketMetricsConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketNotificationConfigurationRequest&, const Model::GetBucketNotificationConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketNotificationConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketOwnershipControlsRequest&, const Model::GetBucketOwnershipControlsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketOwnershipControlsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketPolicyRequest&, Model::GetBucketPolicyOutcome, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketPolicyResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketPolicyStatusRequest&, const Model::GetBucketPolicyStatusOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketPolicyStatusResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketReplicationRequest&, const Model::GetBucketReplicationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketReplicationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketRequestPaymentRequest&, const Model::GetBucketRequestPaymentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketRequestPaymentResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketTaggingRequest&, const Model::GetBucketTaggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketTaggingResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketVersioningRequest&, const Model::GetBucketVersioningOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketVersioningResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketWebsiteRequest&, const Model::GetBucketWebsiteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketWebsiteResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetObjectRequest&, Model::GetObjectOutcome, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetObjectAclRequest&, const Model::GetObjectAclOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectAclResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetObjectAttributesRequest&, const Model::GetObjectAttributesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectAttributesResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetObjectLegalHoldRequest&, const Model::GetObjectLegalHoldOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectLegalHoldResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetObjectLockConfigurationRequest&, const Model::GetObjectLockConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectLockConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetObjectRetentionRequest&, const Model::GetObjectRetentionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectRetentionResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetObjectTaggingRequest&, const Model::GetObjectTaggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectTaggingResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetObjectTorrentRequest&, Model::GetObjectTorrentOutcome, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectTorrentResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetPublicAccessBlockRequest&, const Model::GetPublicAccessBlockOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetPublicAccessBlockResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::HeadBucketRequest&, const Model::HeadBucketOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > HeadBucketResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::HeadObjectRequest&, const Model::HeadObjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > HeadObjectResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::ListBucketAnalyticsConfigurationsRequest&, const Model::ListBucketAnalyticsConfigurationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListBucketAnalyticsConfigurationsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::ListBucketIntelligentTieringConfigurationsRequest&, const Model::ListBucketIntelligentTieringConfigurationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListBucketIntelligentTieringConfigurationsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::ListBucketInventoryConfigurationsRequest&, const Model::ListBucketInventoryConfigurationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListBucketInventoryConfigurationsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::ListBucketMetricsConfigurationsRequest&, const Model::ListBucketMetricsConfigurationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListBucketMetricsConfigurationsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::ListBucketsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListBucketsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::ListMultipartUploadsRequest&, const Model::ListMultipartUploadsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListMultipartUploadsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::ListObjectVersionsRequest&, const Model::ListObjectVersionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListObjectVersionsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::ListObjectsRequest&, const Model::ListObjectsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListObjectsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::ListObjectsV2Request&, const Model::ListObjectsV2Outcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListObjectsV2ResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::ListPartsRequest&, const Model::ListPartsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListPartsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketAccelerateConfigurationRequest&, const Model::PutBucketAccelerateConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketAccelerateConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketAclRequest&, const Model::PutBucketAclOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketAclResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketAnalyticsConfigurationRequest&, const Model::PutBucketAnalyticsConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketAnalyticsConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketCorsRequest&, const Model::PutBucketCorsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketCorsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketEncryptionRequest&, const Model::PutBucketEncryptionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketEncryptionResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketIntelligentTieringConfigurationRequest&, const Model::PutBucketIntelligentTieringConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketIntelligentTieringConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketInventoryConfigurationRequest&, const Model::PutBucketInventoryConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketInventoryConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketLifecycleConfigurationRequest&, const Model::PutBucketLifecycleConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketLifecycleConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketLoggingRequest&, const Model::PutBucketLoggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketLoggingResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketMetricsConfigurationRequest&, const Model::PutBucketMetricsConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketMetricsConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketNotificationConfigurationRequest&, const Model::PutBucketNotificationConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketNotificationConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketOwnershipControlsRequest&, const Model::PutBucketOwnershipControlsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketOwnershipControlsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketPolicyRequest&, const Model::PutBucketPolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketPolicyResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketReplicationRequest&, const Model::PutBucketReplicationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketReplicationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketRequestPaymentRequest&, const Model::PutBucketRequestPaymentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketRequestPaymentResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketTaggingRequest&, const Model::PutBucketTaggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketTaggingResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketVersioningRequest&, const Model::PutBucketVersioningOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketVersioningResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketWebsiteRequest&, const Model::PutBucketWebsiteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketWebsiteResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutObjectRequest&, const Model::PutObjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutObjectResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutObjectAclRequest&, const Model::PutObjectAclOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutObjectAclResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutObjectLegalHoldRequest&, const Model::PutObjectLegalHoldOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutObjectLegalHoldResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutObjectLockConfigurationRequest&, const Model::PutObjectLockConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutObjectLockConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutObjectRetentionRequest&, const Model::PutObjectRetentionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutObjectRetentionResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutObjectTaggingRequest&, const Model::PutObjectTaggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutObjectTaggingResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutPublicAccessBlockRequest&, const Model::PutPublicAccessBlockOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutPublicAccessBlockResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::RestoreObjectRequest&, const Model::RestoreObjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RestoreObjectResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::SelectObjectContentRequest&, const Model::SelectObjectContentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SelectObjectContentResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::UploadPartRequest&, const Model::UploadPartOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UploadPartResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::UploadPartCopyRequest&, const Model::UploadPartCopyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UploadPartCopyResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::WriteGetObjectResponseRequest&, const Model::WriteGetObjectResponseOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > WriteGetObjectResponseResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AbortIncompleteMultipartUpload.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AbortIncompleteMultipartUpload.h index fb84bdcf68..518b2277a9 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AbortIncompleteMultipartUpload.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AbortIncompleteMultipartUpload.h @@ -30,14 +30,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortIncompleteMultipartUpload">AWS * API Reference</a></p> */ - class AWS_S3_API AbortIncompleteMultipartUpload + class AbortIncompleteMultipartUpload { public: - AbortIncompleteMultipartUpload(); - AbortIncompleteMultipartUpload(const Aws::Utils::Xml::XmlNode& xmlNode); - AbortIncompleteMultipartUpload& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API AbortIncompleteMultipartUpload(); + AWS_S3_API AbortIncompleteMultipartUpload(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API AbortIncompleteMultipartUpload& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -67,7 +67,7 @@ namespace Model private: int m_daysAfterInitiation; - bool m_daysAfterInitiationHasBeenSet; + bool m_daysAfterInitiationHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AbortMultipartUploadRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AbortMultipartUploadRequest.h index 92e6d27ca6..5f7cccecd7 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AbortMultipartUploadRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AbortMultipartUploadRequest.h @@ -24,10 +24,10 @@ namespace Model /** */ - class AWS_S3_API AbortMultipartUploadRequest : public S3Request + class AbortMultipartUploadRequest : public S3Request { public: - AbortMultipartUploadRequest(); + AWS_S3_API AbortMultipartUploadRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,31 +35,35 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "AbortMultipartUpload"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name to which the upload was taking place. </p> <p>When using this * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } @@ -68,19 +72,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } @@ -89,19 +93,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } @@ -110,19 +114,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } @@ -131,19 +135,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } @@ -152,19 +156,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline AbortMultipartUploadRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} @@ -173,19 +177,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline AbortMultipartUploadRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} @@ -194,19 +198,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline AbortMultipartUploadRequest& WithBucket(const char* value) { SetBucket(value); return *this;} @@ -314,57 +318,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline AbortMultipartUploadRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline AbortMultipartUploadRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline AbortMultipartUploadRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -411,22 +415,22 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; Aws::String m_uploadId; - bool m_uploadIdHasBeenSet; + bool m_uploadIdHasBeenSet = false; RequestPayer m_requestPayer; - bool m_requestPayerHasBeenSet; + bool m_requestPayerHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AbortMultipartUploadResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AbortMultipartUploadResult.h index 003df773b5..9867ef140a 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AbortMultipartUploadResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AbortMultipartUploadResult.h @@ -24,12 +24,12 @@ namespace S3 { namespace Model { - class AWS_S3_API AbortMultipartUploadResult + class AbortMultipartUploadResult { public: - AbortMultipartUploadResult(); - AbortMultipartUploadResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - AbortMultipartUploadResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API AbortMultipartUploadResult(); + AWS_S3_API AbortMultipartUploadResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API AbortMultipartUploadResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AccelerateConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AccelerateConfiguration.h index 111ac83475..7bc73a1ca1 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AccelerateConfiguration.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AccelerateConfiguration.h @@ -31,14 +31,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AccelerateConfiguration">AWS * API Reference</a></p> */ - class AWS_S3_API AccelerateConfiguration + class AccelerateConfiguration { public: - AccelerateConfiguration(); - AccelerateConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); - AccelerateConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API AccelerateConfiguration(); + AWS_S3_API AccelerateConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API AccelerateConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -74,7 +74,7 @@ namespace Model private: BucketAccelerateStatus m_status; - bool m_statusHasBeenSet; + bool m_statusHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AccessControlPolicy.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AccessControlPolicy.h index 1effa4bf55..1e8bfe7c8e 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AccessControlPolicy.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AccessControlPolicy.h @@ -30,14 +30,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AccessControlPolicy">AWS * API Reference</a></p> */ - class AWS_S3_API AccessControlPolicy + class AccessControlPolicy { public: - AccessControlPolicy(); - AccessControlPolicy(const Aws::Utils::Xml::XmlNode& xmlNode); - AccessControlPolicy& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API AccessControlPolicy(); + AWS_S3_API AccessControlPolicy(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API AccessControlPolicy& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -114,10 +114,10 @@ namespace Model private: Aws::Vector<Grant> m_grants; - bool m_grantsHasBeenSet; + bool m_grantsHasBeenSet = false; Owner m_owner; - bool m_ownerHasBeenSet; + bool m_ownerHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AccessControlTranslation.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AccessControlTranslation.h index e8f4845c2e..201a0a7ebd 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AccessControlTranslation.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AccessControlTranslation.h @@ -28,68 +28,62 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AccessControlTranslation">AWS * API Reference</a></p> */ - class AWS_S3_API AccessControlTranslation + class AccessControlTranslation { public: - AccessControlTranslation(); - AccessControlTranslation(const Aws::Utils::Xml::XmlNode& xmlNode); - AccessControlTranslation& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API AccessControlTranslation(); + AWS_S3_API AccessControlTranslation(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API AccessControlTranslation& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** * <p>Specifies the replica ownership. For default and valid values, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT - * bucket replication</a> in the <i>Amazon Simple Storage Service API - * Reference</i>.</p> + * bucket replication</a> in the <i>Amazon S3 API Reference</i>.</p> */ inline const OwnerOverride& GetOwner() const{ return m_owner; } /** * <p>Specifies the replica ownership. For default and valid values, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT - * bucket replication</a> in the <i>Amazon Simple Storage Service API - * Reference</i>.</p> + * bucket replication</a> in the <i>Amazon S3 API Reference</i>.</p> */ inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; } /** * <p>Specifies the replica ownership. For default and valid values, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT - * bucket replication</a> in the <i>Amazon Simple Storage Service API - * Reference</i>.</p> + * bucket replication</a> in the <i>Amazon S3 API Reference</i>.</p> */ inline void SetOwner(const OwnerOverride& value) { m_ownerHasBeenSet = true; m_owner = value; } /** * <p>Specifies the replica ownership. For default and valid values, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT - * bucket replication</a> in the <i>Amazon Simple Storage Service API - * Reference</i>.</p> + * bucket replication</a> in the <i>Amazon S3 API Reference</i>.</p> */ inline void SetOwner(OwnerOverride&& value) { m_ownerHasBeenSet = true; m_owner = std::move(value); } /** * <p>Specifies the replica ownership. For default and valid values, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT - * bucket replication</a> in the <i>Amazon Simple Storage Service API - * Reference</i>.</p> + * bucket replication</a> in the <i>Amazon S3 API Reference</i>.</p> */ inline AccessControlTranslation& WithOwner(const OwnerOverride& value) { SetOwner(value); return *this;} /** * <p>Specifies the replica ownership. For default and valid values, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT - * bucket replication</a> in the <i>Amazon Simple Storage Service API - * Reference</i>.</p> + * bucket replication</a> in the <i>Amazon S3 API Reference</i>.</p> */ inline AccessControlTranslation& WithOwner(OwnerOverride&& value) { SetOwner(std::move(value)); return *this;} private: OwnerOverride m_owner; - bool m_ownerHasBeenSet; + bool m_ownerHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsAndOperator.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsAndOperator.h index 760b911104..4859717c2c 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsAndOperator.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsAndOperator.h @@ -32,14 +32,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsAndOperator">AWS * API Reference</a></p> */ - class AWS_S3_API AnalyticsAndOperator + class AnalyticsAndOperator { public: - AnalyticsAndOperator(); - AnalyticsAndOperator(const Aws::Utils::Xml::XmlNode& xmlNode); - AnalyticsAndOperator& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API AnalyticsAndOperator(); + AWS_S3_API AnalyticsAndOperator(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API AnalyticsAndOperator& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -134,10 +134,10 @@ namespace Model private: Aws::String m_prefix; - bool m_prefixHasBeenSet; + bool m_prefixHasBeenSet = false; Aws::Vector<Tag> m_tags; - bool m_tagsHasBeenSet; + bool m_tagsHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsConfiguration.h index b3b70834bd..f735dc7644 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsConfiguration.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsConfiguration.h @@ -25,19 +25,19 @@ namespace Model { /** - * <p> Specifies the configuration and any analyses for the analytics filter of an + * <p>Specifies the configuration and any analyses for the analytics filter of an * Amazon S3 bucket.</p><p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsConfiguration">AWS * API Reference</a></p> */ - class AWS_S3_API AnalyticsConfiguration + class AnalyticsConfiguration { public: - AnalyticsConfiguration(); - AnalyticsConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); - AnalyticsConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API AnalyticsConfiguration(); + AWS_S3_API AnalyticsConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API AnalyticsConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -163,13 +163,13 @@ namespace Model private: Aws::String m_id; - bool m_idHasBeenSet; + bool m_idHasBeenSet = false; AnalyticsFilter m_filter; - bool m_filterHasBeenSet; + bool m_filterHasBeenSet = false; StorageClassAnalysis m_storageClassAnalysis; - bool m_storageClassAnalysisHasBeenSet; + bool m_storageClassAnalysisHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsExportDestination.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsExportDestination.h index 9b7dfb72f0..33652244e4 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsExportDestination.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsExportDestination.h @@ -27,14 +27,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsExportDestination">AWS * API Reference</a></p> */ - class AWS_S3_API AnalyticsExportDestination + class AnalyticsExportDestination { public: - AnalyticsExportDestination(); - AnalyticsExportDestination(const Aws::Utils::Xml::XmlNode& xmlNode); - AnalyticsExportDestination& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API AnalyticsExportDestination(); + AWS_S3_API AnalyticsExportDestination(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API AnalyticsExportDestination& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -70,7 +70,7 @@ namespace Model private: AnalyticsS3BucketDestination m_s3BucketDestination; - bool m_s3BucketDestinationHasBeenSet; + bool m_s3BucketDestinationHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsFilter.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsFilter.h index 1567043a4a..c655675838 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsFilter.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsFilter.h @@ -32,14 +32,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsFilter">AWS * API Reference</a></p> */ - class AWS_S3_API AnalyticsFilter + class AnalyticsFilter { public: - AnalyticsFilter(); - AnalyticsFilter(const Aws::Utils::Xml::XmlNode& xmlNode); - AnalyticsFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API AnalyticsFilter(); + AWS_S3_API AnalyticsFilter(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API AnalyticsFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -153,13 +153,13 @@ namespace Model private: Aws::String m_prefix; - bool m_prefixHasBeenSet; + bool m_prefixHasBeenSet = false; Tag m_tag; - bool m_tagHasBeenSet; + bool m_tagHasBeenSet = false; AnalyticsAndOperator m_and; - bool m_andHasBeenSet; + bool m_andHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsS3BucketDestination.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsS3BucketDestination.h index 69c40eb86d..2175b74df6 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsS3BucketDestination.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsS3BucketDestination.h @@ -29,14 +29,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsS3BucketDestination">AWS * API Reference</a></p> */ - class AWS_S3_API AnalyticsS3BucketDestination + class AnalyticsS3BucketDestination { public: - AnalyticsS3BucketDestination(); - AnalyticsS3BucketDestination(const Aws::Utils::Xml::XmlNode& xmlNode); - AnalyticsS3BucketDestination& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API AnalyticsS3BucketDestination(); + AWS_S3_API AnalyticsS3BucketDestination(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API AnalyticsS3BucketDestination& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -227,16 +227,16 @@ namespace Model private: AnalyticsS3ExportFileFormat m_format; - bool m_formatHasBeenSet; + bool m_formatHasBeenSet = false; Aws::String m_bucketAccountId; - bool m_bucketAccountIdHasBeenSet; + bool m_bucketAccountIdHasBeenSet = false; Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_prefix; - bool m_prefixHasBeenSet; + bool m_prefixHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Bucket.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Bucket.h index ffe7104842..ad5c7d6d25 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Bucket.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Bucket.h @@ -25,19 +25,19 @@ namespace Model /** * <p> In terms of implementation, a Bucket is a resource. An Amazon S3 bucket name - * is globally unique, and the namespace is shared by all AWS accounts. - * </p><p><h3>See Also:</h3> <a + * is globally unique, and the namespace is shared by all Amazon Web Services + * accounts. </p><p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Bucket">AWS API * Reference</a></p> */ - class AWS_S3_API Bucket + class Bucket { public: - Bucket(); - Bucket(const Aws::Utils::Xml::XmlNode& xmlNode); - Bucket& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Bucket(); + AWS_S3_API Bucket(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Bucket& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -120,10 +120,10 @@ namespace Model private: Aws::String m_name; - bool m_nameHasBeenSet; + bool m_nameHasBeenSet = false; Aws::Utils::DateTime m_creationDate; - bool m_creationDateHasBeenSet; + bool m_creationDateHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLifecycleConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLifecycleConfiguration.h index ee35f3fd9a..745fe58263 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLifecycleConfiguration.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLifecycleConfiguration.h @@ -32,14 +32,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/BucketLifecycleConfiguration">AWS * API Reference</a></p> */ - class AWS_S3_API BucketLifecycleConfiguration + class BucketLifecycleConfiguration { public: - BucketLifecycleConfiguration(); - BucketLifecycleConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); - BucketLifecycleConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API BucketLifecycleConfiguration(); + AWS_S3_API BucketLifecycleConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API BucketLifecycleConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -85,7 +85,7 @@ namespace Model private: Aws::Vector<LifecycleRule> m_rules; - bool m_rulesHasBeenSet; + bool m_rulesHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLocationConstraint.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLocationConstraint.h index 86490ce1fa..b4f177fba6 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLocationConstraint.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLocationConstraint.h @@ -24,6 +24,7 @@ namespace Model ap_south_1, ap_southeast_1, ap_southeast_2, + ap_southeast_3, ca_central_1, cn_north_1, cn_northwest_1, @@ -41,6 +42,7 @@ namespace Model us_gov_west_1, us_west_1, us_west_2, + us_iso_west_1, us_east_1 }; diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLoggingStatus.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLoggingStatus.h index 36273be848..1848d8f9b9 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLoggingStatus.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLoggingStatus.h @@ -27,14 +27,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/BucketLoggingStatus">AWS * API Reference</a></p> */ - class AWS_S3_API BucketLoggingStatus + class BucketLoggingStatus { public: - BucketLoggingStatus(); - BucketLoggingStatus(const Aws::Utils::Xml::XmlNode& xmlNode); - BucketLoggingStatus& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API BucketLoggingStatus(); + AWS_S3_API BucketLoggingStatus(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API BucketLoggingStatus& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; @@ -58,7 +58,7 @@ namespace Model private: LoggingEnabled m_loggingEnabled; - bool m_loggingEnabledHasBeenSet; + bool m_loggingEnabledHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CORSConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CORSConfiguration.h index 5280876ab3..9fe46f05ad 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CORSConfiguration.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CORSConfiguration.h @@ -32,14 +32,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CORSConfiguration">AWS * API Reference</a></p> */ - class AWS_S3_API CORSConfiguration + class CORSConfiguration { public: - CORSConfiguration(); - CORSConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); - CORSConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API CORSConfiguration(); + AWS_S3_API CORSConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API CORSConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -93,7 +93,7 @@ namespace Model private: Aws::Vector<CORSRule> m_cORSRules; - bool m_cORSRulesHasBeenSet; + bool m_cORSRulesHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CORSRule.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CORSRule.h index fd1808aa0a..1fd4da5df1 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CORSRule.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CORSRule.h @@ -29,14 +29,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CORSRule">AWS API * Reference</a></p> */ - class AWS_S3_API CORSRule + class CORSRule { public: - CORSRule(); - CORSRule(const Aws::Utils::Xml::XmlNode& xmlNode); - CORSRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API CORSRule(); + AWS_S3_API CORSRule(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API CORSRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -371,22 +371,22 @@ namespace Model private: Aws::String m_iD; - bool m_iDHasBeenSet; + bool m_iDHasBeenSet = false; Aws::Vector<Aws::String> m_allowedHeaders; - bool m_allowedHeadersHasBeenSet; + bool m_allowedHeadersHasBeenSet = false; Aws::Vector<Aws::String> m_allowedMethods; - bool m_allowedMethodsHasBeenSet; + bool m_allowedMethodsHasBeenSet = false; Aws::Vector<Aws::String> m_allowedOrigins; - bool m_allowedOriginsHasBeenSet; + bool m_allowedOriginsHasBeenSet = false; Aws::Vector<Aws::String> m_exposeHeaders; - bool m_exposeHeadersHasBeenSet; + bool m_exposeHeadersHasBeenSet = false; int m_maxAgeSeconds; - bool m_maxAgeSecondsHasBeenSet; + bool m_maxAgeSecondsHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CSVInput.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CSVInput.h index ca40bb8ef9..3b591448db 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CSVInput.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CSVInput.h @@ -29,14 +29,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CSVInput">AWS API * Reference</a></p> */ - class AWS_S3_API CSVInput + class CSVInput { public: - CSVInput(); - CSVInput(const Aws::Utils::Xml::XmlNode& xmlNode); - CSVInput& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API CSVInput(); + AWS_S3_API CSVInput(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API CSVInput& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -171,57 +171,57 @@ namespace Model /** * <p>A single character used for escaping the quotation mark character inside an - * already escaped value. For example, the value """ a , b """ is parsed as " a , b - * ".</p> + * already escaped value. For example, the value <code>""" a , b """</code> is + * parsed as <code>" a , b "</code>.</p> */ inline const Aws::String& GetQuoteEscapeCharacter() const{ return m_quoteEscapeCharacter; } /** * <p>A single character used for escaping the quotation mark character inside an - * already escaped value. For example, the value """ a , b """ is parsed as " a , b - * ".</p> + * already escaped value. For example, the value <code>""" a , b """</code> is + * parsed as <code>" a , b "</code>.</p> */ inline bool QuoteEscapeCharacterHasBeenSet() const { return m_quoteEscapeCharacterHasBeenSet; } /** * <p>A single character used for escaping the quotation mark character inside an - * already escaped value. For example, the value """ a , b """ is parsed as " a , b - * ".</p> + * already escaped value. For example, the value <code>""" a , b """</code> is + * parsed as <code>" a , b "</code>.</p> */ inline void SetQuoteEscapeCharacter(const Aws::String& value) { m_quoteEscapeCharacterHasBeenSet = true; m_quoteEscapeCharacter = value; } /** * <p>A single character used for escaping the quotation mark character inside an - * already escaped value. For example, the value """ a , b """ is parsed as " a , b - * ".</p> + * already escaped value. For example, the value <code>""" a , b """</code> is + * parsed as <code>" a , b "</code>.</p> */ inline void SetQuoteEscapeCharacter(Aws::String&& value) { m_quoteEscapeCharacterHasBeenSet = true; m_quoteEscapeCharacter = std::move(value); } /** * <p>A single character used for escaping the quotation mark character inside an - * already escaped value. For example, the value """ a , b """ is parsed as " a , b - * ".</p> + * already escaped value. For example, the value <code>""" a , b """</code> is + * parsed as <code>" a , b "</code>.</p> */ inline void SetQuoteEscapeCharacter(const char* value) { m_quoteEscapeCharacterHasBeenSet = true; m_quoteEscapeCharacter.assign(value); } /** * <p>A single character used for escaping the quotation mark character inside an - * already escaped value. For example, the value """ a , b """ is parsed as " a , b - * ".</p> + * already escaped value. For example, the value <code>""" a , b """</code> is + * parsed as <code>" a , b "</code>.</p> */ inline CSVInput& WithQuoteEscapeCharacter(const Aws::String& value) { SetQuoteEscapeCharacter(value); return *this;} /** * <p>A single character used for escaping the quotation mark character inside an - * already escaped value. For example, the value """ a , b """ is parsed as " a , b - * ".</p> + * already escaped value. For example, the value <code>""" a , b """</code> is + * parsed as <code>" a , b "</code>.</p> */ inline CSVInput& WithQuoteEscapeCharacter(Aws::String&& value) { SetQuoteEscapeCharacter(std::move(value)); return *this;} /** * <p>A single character used for escaping the quotation mark character inside an - * already escaped value. For example, the value """ a , b """ is parsed as " a , b - * ".</p> + * already escaped value. For example, the value <code>""" a , b """</code> is + * parsed as <code>" a , b "</code>.</p> */ inline CSVInput& WithQuoteEscapeCharacter(const char* value) { SetQuoteEscapeCharacter(value); return *this;} @@ -420,25 +420,25 @@ namespace Model private: FileHeaderInfo m_fileHeaderInfo; - bool m_fileHeaderInfoHasBeenSet; + bool m_fileHeaderInfoHasBeenSet = false; Aws::String m_comments; - bool m_commentsHasBeenSet; + bool m_commentsHasBeenSet = false; Aws::String m_quoteEscapeCharacter; - bool m_quoteEscapeCharacterHasBeenSet; + bool m_quoteEscapeCharacterHasBeenSet = false; Aws::String m_recordDelimiter; - bool m_recordDelimiterHasBeenSet; + bool m_recordDelimiterHasBeenSet = false; Aws::String m_fieldDelimiter; - bool m_fieldDelimiterHasBeenSet; + bool m_fieldDelimiterHasBeenSet = false; Aws::String m_quoteCharacter; - bool m_quoteCharacterHasBeenSet; + bool m_quoteCharacterHasBeenSet = false; bool m_allowQuotedRecordDelimiter; - bool m_allowQuotedRecordDelimiterHasBeenSet; + bool m_allowQuotedRecordDelimiterHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CSVOutput.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CSVOutput.h index d507716d7f..dc0a67f469 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CSVOutput.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CSVOutput.h @@ -29,14 +29,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CSVOutput">AWS API * Reference</a></p> */ - class AWS_S3_API CSVOutput + class CSVOutput { public: - CSVOutput(); - CSVOutput(const Aws::Utils::Xml::XmlNode& xmlNode); - CSVOutput& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API CSVOutput(); + AWS_S3_API CSVOutput(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API CSVOutput& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -294,19 +294,19 @@ namespace Model private: QuoteFields m_quoteFields; - bool m_quoteFieldsHasBeenSet; + bool m_quoteFieldsHasBeenSet = false; Aws::String m_quoteEscapeCharacter; - bool m_quoteEscapeCharacterHasBeenSet; + bool m_quoteEscapeCharacterHasBeenSet = false; Aws::String m_recordDelimiter; - bool m_recordDelimiterHasBeenSet; + bool m_recordDelimiterHasBeenSet = false; Aws::String m_fieldDelimiter; - bool m_fieldDelimiterHasBeenSet; + bool m_fieldDelimiterHasBeenSet = false; Aws::String m_quoteCharacter; - bool m_quoteCharacterHasBeenSet; + bool m_quoteCharacterHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Checksum.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Checksum.h new file mode 100644 index 0000000000..39b3c520c1 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Checksum.h @@ -0,0 +1,381 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Contains all the possible checksum or digest values for an + * object.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Checksum">AWS API + * Reference</a></p> + */ + class Checksum + { + public: + AWS_S3_API Checksum(); + AWS_S3_API Checksum(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Checksum& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32() const{ return m_checksumCRC32; } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumCRC32HasBeenSet() const { return m_checksumCRC32HasBeenSet; } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const Aws::String& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = value; } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(Aws::String&& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = std::move(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const char* value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32.assign(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline Checksum& WithChecksumCRC32(const Aws::String& value) { SetChecksumCRC32(value); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline Checksum& WithChecksumCRC32(Aws::String&& value) { SetChecksumCRC32(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline Checksum& WithChecksumCRC32(const char* value) { SetChecksumCRC32(value); return *this;} + + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32C() const{ return m_checksumCRC32C; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumCRC32CHasBeenSet() const { return m_checksumCRC32CHasBeenSet; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const Aws::String& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = value; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(Aws::String&& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = std::move(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const char* value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C.assign(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline Checksum& WithChecksumCRC32C(const Aws::String& value) { SetChecksumCRC32C(value); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline Checksum& WithChecksumCRC32C(Aws::String&& value) { SetChecksumCRC32C(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline Checksum& WithChecksumCRC32C(const char* value) { SetChecksumCRC32C(value); return *this;} + + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA1() const{ return m_checksumSHA1; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumSHA1HasBeenSet() const { return m_checksumSHA1HasBeenSet; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const Aws::String& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = value; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(Aws::String&& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = std::move(value); } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const char* value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1.assign(value); } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline Checksum& WithChecksumSHA1(const Aws::String& value) { SetChecksumSHA1(value); return *this;} + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline Checksum& WithChecksumSHA1(Aws::String&& value) { SetChecksumSHA1(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline Checksum& WithChecksumSHA1(const char* value) { SetChecksumSHA1(value); return *this;} + + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA256() const{ return m_checksumSHA256; } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumSHA256HasBeenSet() const { return m_checksumSHA256HasBeenSet; } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const Aws::String& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = value; } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(Aws::String&& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = std::move(value); } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const char* value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256.assign(value); } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline Checksum& WithChecksumSHA256(const Aws::String& value) { SetChecksumSHA256(value); return *this;} + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline Checksum& WithChecksumSHA256(Aws::String&& value) { SetChecksumSHA256(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline Checksum& WithChecksumSHA256(const char* value) { SetChecksumSHA256(value); return *this;} + + private: + + Aws::String m_checksumCRC32; + bool m_checksumCRC32HasBeenSet = false; + + Aws::String m_checksumCRC32C; + bool m_checksumCRC32CHasBeenSet = false; + + Aws::String m_checksumSHA1; + bool m_checksumSHA1HasBeenSet = false; + + Aws::String m_checksumSHA256; + bool m_checksumSHA256HasBeenSet = false; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ChecksumAlgorithm.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ChecksumAlgorithm.h new file mode 100644 index 0000000000..cdd0307538 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ChecksumAlgorithm.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class ChecksumAlgorithm + { + NOT_SET, + CRC32, + CRC32C, + SHA1, + SHA256 + }; + +namespace ChecksumAlgorithmMapper +{ +AWS_S3_API ChecksumAlgorithm GetChecksumAlgorithmForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForChecksumAlgorithm(ChecksumAlgorithm value); +} // namespace ChecksumAlgorithmMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ChecksumMode.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ChecksumMode.h new file mode 100644 index 0000000000..2efd0d38aa --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ChecksumMode.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class ChecksumMode + { + NOT_SET, + ENABLED + }; + +namespace ChecksumModeMapper +{ +AWS_S3_API ChecksumMode GetChecksumModeForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForChecksumMode(ChecksumMode value); +} // namespace ChecksumModeMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CloudFunctionConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CloudFunctionConfiguration.h index d85743d470..bc592a051a 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CloudFunctionConfiguration.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CloudFunctionConfiguration.h @@ -25,19 +25,19 @@ namespace Model { /** - * <p>Container for specifying the AWS Lambda notification - * configuration.</p><p><h3>See Also:</h3> <a + * <p>Container for specifying the Lambda notification configuration.</p><p><h3>See + * Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CloudFunctionConfiguration">AWS * API Reference</a></p> */ - class AWS_S3_API CloudFunctionConfiguration + class CloudFunctionConfiguration { public: - CloudFunctionConfiguration(); - CloudFunctionConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); - CloudFunctionConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API CloudFunctionConfiguration(); + AWS_S3_API CloudFunctionConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API CloudFunctionConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; @@ -198,16 +198,16 @@ namespace Model private: Aws::String m_id; - bool m_idHasBeenSet; + bool m_idHasBeenSet = false; Aws::Vector<Event> m_events; - bool m_eventsHasBeenSet; + bool m_eventsHasBeenSet = false; Aws::String m_cloudFunction; - bool m_cloudFunctionHasBeenSet; + bool m_cloudFunctionHasBeenSet = false; Aws::String m_invocationRole; - bool m_invocationRoleHasBeenSet; + bool m_invocationRoleHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CommonPrefix.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CommonPrefix.h index 42fec00298..6f876cde8e 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CommonPrefix.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CommonPrefix.h @@ -31,14 +31,14 @@ namespace Model * <a href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CommonPrefix">AWS * API Reference</a></p> */ - class AWS_S3_API CommonPrefix + class CommonPrefix { public: - CommonPrefix(); - CommonPrefix(const Aws::Utils::Xml::XmlNode& xmlNode); - CommonPrefix& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API CommonPrefix(); + AWS_S3_API CommonPrefix(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API CommonPrefix& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -84,7 +84,7 @@ namespace Model private: Aws::String m_prefix; - bool m_prefixHasBeenSet; + bool m_prefixHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompleteMultipartUploadRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompleteMultipartUploadRequest.h index 98e2ec2730..8972e55bfd 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompleteMultipartUploadRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompleteMultipartUploadRequest.h @@ -25,10 +25,10 @@ namespace Model /** */ - class AWS_S3_API CompleteMultipartUploadRequest : public S3Request + class CompleteMultipartUploadRequest : public S3Request { public: - CompleteMultipartUploadRequest(); + AWS_S3_API CompleteMultipartUploadRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -36,50 +36,183 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CompleteMultipartUpload"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** - * <p>Name of the bucket to which the multipart upload was initiated.</p> + * <p>Name of the bucket to which the multipart upload was initiated.</p> <p>When + * using this action with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * action with Amazon S3 on Outposts, you must direct requests to the S3 on + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } /** - * <p>Name of the bucket to which the multipart upload was initiated.</p> + * <p>Name of the bucket to which the multipart upload was initiated.</p> <p>When + * using this action with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * action with Amazon S3 on Outposts, you must direct requests to the S3 on + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } /** - * <p>Name of the bucket to which the multipart upload was initiated.</p> + * <p>Name of the bucket to which the multipart upload was initiated.</p> <p>When + * using this action with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * action with Amazon S3 on Outposts, you must direct requests to the S3 on + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } /** - * <p>Name of the bucket to which the multipart upload was initiated.</p> + * <p>Name of the bucket to which the multipart upload was initiated.</p> <p>When + * using this action with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * action with Amazon S3 on Outposts, you must direct requests to the S3 on + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } /** - * <p>Name of the bucket to which the multipart upload was initiated.</p> + * <p>Name of the bucket to which the multipart upload was initiated.</p> <p>When + * using this action with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * action with Amazon S3 on Outposts, you must direct requests to the S3 on + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } /** - * <p>Name of the bucket to which the multipart upload was initiated.</p> + * <p>Name of the bucket to which the multipart upload was initiated.</p> <p>When + * using this action with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * action with Amazon S3 on Outposts, you must direct requests to the S3 on + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline CompleteMultipartUploadRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} /** - * <p>Name of the bucket to which the multipart upload was initiated.</p> + * <p>Name of the bucket to which the multipart upload was initiated.</p> <p>When + * using this action with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * action with Amazon S3 on Outposts, you must direct requests to the S3 on + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline CompleteMultipartUploadRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} /** - * <p>Name of the bucket to which the multipart upload was initiated.</p> + * <p>Name of the bucket to which the multipart upload was initiated.</p> <p>When + * using this action with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * action with Amazon S3 on Outposts, you must direct requests to the S3 on + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline CompleteMultipartUploadRequest& WithBucket(const char* value) { SetBucket(value); return *this;} @@ -197,6 +330,322 @@ namespace Model inline CompleteMultipartUploadRequest& WithUploadId(const char* value) { SetUploadId(value); return *this;} + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32() const{ return m_checksumCRC32; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumCRC32HasBeenSet() const { return m_checksumCRC32HasBeenSet; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const Aws::String& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = value; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(Aws::String&& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = std::move(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const char* value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32.assign(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadRequest& WithChecksumCRC32(const Aws::String& value) { SetChecksumCRC32(value); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadRequest& WithChecksumCRC32(Aws::String&& value) { SetChecksumCRC32(std::move(value)); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadRequest& WithChecksumCRC32(const char* value) { SetChecksumCRC32(value); return *this;} + + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32C checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32C() const{ return m_checksumCRC32C; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32C checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumCRC32CHasBeenSet() const { return m_checksumCRC32CHasBeenSet; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32C checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const Aws::String& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = value; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32C checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(Aws::String&& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = std::move(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32C checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const char* value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C.assign(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32C checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadRequest& WithChecksumCRC32C(const Aws::String& value) { SetChecksumCRC32C(value); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32C checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadRequest& WithChecksumCRC32C(Aws::String&& value) { SetChecksumCRC32C(std::move(value)); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32C checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadRequest& WithChecksumCRC32C(const char* value) { SetChecksumCRC32C(value); return *this;} + + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA1() const{ return m_checksumSHA1; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumSHA1HasBeenSet() const { return m_checksumSHA1HasBeenSet; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const Aws::String& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = value; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(Aws::String&& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = std::move(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const char* value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1.assign(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadRequest& WithChecksumSHA1(const Aws::String& value) { SetChecksumSHA1(value); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadRequest& WithChecksumSHA1(Aws::String&& value) { SetChecksumSHA1(std::move(value)); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadRequest& WithChecksumSHA1(const char* value) { SetChecksumSHA1(value); return *this;} + + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA256() const{ return m_checksumSHA256; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumSHA256HasBeenSet() const { return m_checksumSHA256HasBeenSet; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const Aws::String& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = value; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(Aws::String&& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = std::move(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const char* value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256.assign(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadRequest& WithChecksumSHA256(const Aws::String& value) { SetChecksumSHA256(value); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadRequest& WithChecksumSHA256(Aws::String&& value) { SetChecksumSHA256(std::move(value)); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadRequest& WithChecksumSHA256(const char* value) { SetChecksumSHA256(value); return *this;} + + inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } @@ -218,61 +667,280 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline CompleteMultipartUploadRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline CompleteMultipartUploadRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline CompleteMultipartUploadRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + /** + * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This + * parameter is needed only when the object was created using a checksum algorithm. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; } + + /** + * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This + * parameter is needed only when the object was created using a checksum algorithm. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool SSECustomerAlgorithmHasBeenSet() const { return m_sSECustomerAlgorithmHasBeenSet; } + + /** + * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This + * parameter is needed only when the object was created using a checksum algorithm. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = value; } + + /** + * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This + * parameter is needed only when the object was created using a checksum algorithm. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = std::move(value); } + + /** + * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This + * parameter is needed only when the object was created using a checksum algorithm. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm.assign(value); } + + /** + * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This + * parameter is needed only when the object was created using a checksum algorithm. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadRequest& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;} + + /** + * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This + * parameter is needed only when the object was created using a checksum algorithm. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadRequest& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;} + + /** + * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This + * parameter is needed only when the object was created using a checksum algorithm. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadRequest& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;} + + + /** + * <p>The server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetSSECustomerKey() const{ return m_sSECustomerKey; } + + /** + * <p>The server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool SSECustomerKeyHasBeenSet() const { return m_sSECustomerKeyHasBeenSet; } + + /** + * <p>The server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetSSECustomerKey(const Aws::String& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = value; } + + /** + * <p>The server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetSSECustomerKey(Aws::String&& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = std::move(value); } + + /** + * <p>The server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetSSECustomerKey(const char* value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey.assign(value); } + + /** + * <p>The server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadRequest& WithSSECustomerKey(const Aws::String& value) { SetSSECustomerKey(value); return *this;} + + /** + * <p>The server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadRequest& WithSSECustomerKey(Aws::String&& value) { SetSSECustomerKey(std::move(value)); return *this;} + + /** + * <p>The server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadRequest& WithSSECustomerKey(const char* value) { SetSSECustomerKey(value); return *this;} + + + /** + * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; } + + /** + * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool SSECustomerKeyMD5HasBeenSet() const { return m_sSECustomerKeyMD5HasBeenSet; } + + /** + * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = value; } + + /** + * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = std::move(value); } + + /** + * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5.assign(value); } + + /** + * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadRequest& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;} + + /** + * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadRequest& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;} + + /** + * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadRequest& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;} + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } @@ -315,25 +983,46 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; CompletedMultipartUpload m_multipartUpload; - bool m_multipartUploadHasBeenSet; + bool m_multipartUploadHasBeenSet = false; Aws::String m_uploadId; - bool m_uploadIdHasBeenSet; + bool m_uploadIdHasBeenSet = false; + + Aws::String m_checksumCRC32; + bool m_checksumCRC32HasBeenSet = false; + + Aws::String m_checksumCRC32C; + bool m_checksumCRC32CHasBeenSet = false; + + Aws::String m_checksumSHA1; + bool m_checksumSHA1HasBeenSet = false; + + Aws::String m_checksumSHA256; + bool m_checksumSHA256HasBeenSet = false; RequestPayer m_requestPayer; - bool m_requestPayerHasBeenSet; + bool m_requestPayerHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; + + Aws::String m_sSECustomerAlgorithm; + bool m_sSECustomerAlgorithmHasBeenSet = false; + + Aws::String m_sSECustomerKey; + bool m_sSECustomerKeyHasBeenSet = false; + + Aws::String m_sSECustomerKeyMD5; + bool m_sSECustomerKeyMD5HasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompleteMultipartUploadResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompleteMultipartUploadResult.h index d5cf10ac2b..7c131a19fd 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompleteMultipartUploadResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompleteMultipartUploadResult.h @@ -26,12 +26,12 @@ namespace S3 { namespace Model { - class AWS_S3_API CompleteMultipartUploadResult + class CompleteMultipartUploadResult { public: - CompleteMultipartUploadResult(); - CompleteMultipartUploadResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - CompleteMultipartUploadResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API CompleteMultipartUploadResult(); + AWS_S3_API CompleteMultipartUploadResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API CompleteMultipartUploadResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** @@ -71,149 +71,156 @@ namespace Model /** - * <p>The name of the bucket that contains the newly created object.</p> <p>When - * using this action with an access point, you must direct requests to the access - * point hostname. The access point hostname takes the form + * <p>The name of the bucket that contains the newly created object. Does not + * return the access point ARN or access point alias if used.</p> <p>When using + * this action with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } /** - * <p>The name of the bucket that contains the newly created object.</p> <p>When - * using this action with an access point, you must direct requests to the access - * point hostname. The access point hostname takes the form + * <p>The name of the bucket that contains the newly created object. Does not + * return the access point ARN or access point alias if used.</p> <p>When using + * this action with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucket = value; } /** - * <p>The name of the bucket that contains the newly created object.</p> <p>When - * using this action with an access point, you must direct requests to the access - * point hostname. The access point hostname takes the form + * <p>The name of the bucket that contains the newly created object. Does not + * return the access point ARN or access point alias if used.</p> <p>When using + * this action with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucket = std::move(value); } /** - * <p>The name of the bucket that contains the newly created object.</p> <p>When - * using this action with an access point, you must direct requests to the access - * point hostname. The access point hostname takes the form + * <p>The name of the bucket that contains the newly created object. Does not + * return the access point ARN or access point alias if used.</p> <p>When using + * this action with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucket.assign(value); } /** - * <p>The name of the bucket that contains the newly created object.</p> <p>When - * using this action with an access point, you must direct requests to the access - * point hostname. The access point hostname takes the form + * <p>The name of the bucket that contains the newly created object. Does not + * return the access point ARN or access point alias if used.</p> <p>When using + * this action with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline CompleteMultipartUploadResult& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} /** - * <p>The name of the bucket that contains the newly created object.</p> <p>When - * using this action with an access point, you must direct requests to the access - * point hostname. The access point hostname takes the form + * <p>The name of the bucket that contains the newly created object. Does not + * return the access point ARN or access point alias if used.</p> <p>When using + * this action with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline CompleteMultipartUploadResult& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} /** - * <p>The name of the bucket that contains the newly created object.</p> <p>When - * using this action with an access point, you must direct requests to the access - * point hostname. The access point hostname takes the form + * <p>The name of the bucket that contains the newly created object. Does not + * return the access point ARN or access point alias if used.</p> <p>When using + * this action with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline CompleteMultipartUploadResult& WithBucket(const char* value) { SetBucket(value); return *this;} @@ -256,43 +263,50 @@ namespace Model /** * <p>If the object expiration is configured, this will contain the expiration date - * (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.</p> + * (<code>expiry-date</code>) and rule ID (<code>rule-id</code>). The value of + * <code>rule-id</code> is URL-encoded.</p> */ inline const Aws::String& GetExpiration() const{ return m_expiration; } /** * <p>If the object expiration is configured, this will contain the expiration date - * (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.</p> + * (<code>expiry-date</code>) and rule ID (<code>rule-id</code>). The value of + * <code>rule-id</code> is URL-encoded.</p> */ inline void SetExpiration(const Aws::String& value) { m_expiration = value; } /** * <p>If the object expiration is configured, this will contain the expiration date - * (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.</p> + * (<code>expiry-date</code>) and rule ID (<code>rule-id</code>). The value of + * <code>rule-id</code> is URL-encoded.</p> */ inline void SetExpiration(Aws::String&& value) { m_expiration = std::move(value); } /** * <p>If the object expiration is configured, this will contain the expiration date - * (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.</p> + * (<code>expiry-date</code>) and rule ID (<code>rule-id</code>). The value of + * <code>rule-id</code> is URL-encoded.</p> */ inline void SetExpiration(const char* value) { m_expiration.assign(value); } /** * <p>If the object expiration is configured, this will contain the expiration date - * (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.</p> + * (<code>expiry-date</code>) and rule ID (<code>rule-id</code>). The value of + * <code>rule-id</code> is URL-encoded.</p> */ inline CompleteMultipartUploadResult& WithExpiration(const Aws::String& value) { SetExpiration(value); return *this;} /** * <p>If the object expiration is configured, this will contain the expiration date - * (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.</p> + * (<code>expiry-date</code>) and rule ID (<code>rule-id</code>). The value of + * <code>rule-id</code> is URL-encoded.</p> */ inline CompleteMultipartUploadResult& WithExpiration(Aws::String&& value) { SetExpiration(std::move(value)); return *this;} /** * <p>If the object expiration is configured, this will contain the expiration date - * (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.</p> + * (<code>expiry-date</code>) and rule ID (<code>rule-id</code>). The value of + * <code>rule-id</code> is URL-encoded.</p> */ inline CompleteMultipartUploadResult& WithExpiration(const char* value) { SetExpiration(value); return *this;} @@ -303,7 +317,10 @@ namespace Model * opaque string. The entity tag may or may not be an MD5 digest of the object * data. If the entity tag is not an MD5 digest of the object data, it will contain * one or more nonhexadecimal characters and/or will consist of less than 32 or - * more than 32 hexadecimal digits.</p> + * more than 32 hexadecimal digits. For more information about how the entity tag + * is calculated, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetETag() const{ return m_eTag; } @@ -313,7 +330,10 @@ namespace Model * opaque string. The entity tag may or may not be an MD5 digest of the object * data. If the entity tag is not an MD5 digest of the object data, it will contain * one or more nonhexadecimal characters and/or will consist of less than 32 or - * more than 32 hexadecimal digits.</p> + * more than 32 hexadecimal digits. For more information about how the entity tag + * is calculated, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetETag(const Aws::String& value) { m_eTag = value; } @@ -323,7 +343,10 @@ namespace Model * opaque string. The entity tag may or may not be an MD5 digest of the object * data. If the entity tag is not an MD5 digest of the object data, it will contain * one or more nonhexadecimal characters and/or will consist of less than 32 or - * more than 32 hexadecimal digits.</p> + * more than 32 hexadecimal digits. For more information about how the entity tag + * is calculated, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetETag(Aws::String&& value) { m_eTag = std::move(value); } @@ -333,7 +356,10 @@ namespace Model * opaque string. The entity tag may or may not be an MD5 digest of the object * data. If the entity tag is not an MD5 digest of the object data, it will contain * one or more nonhexadecimal characters and/or will consist of less than 32 or - * more than 32 hexadecimal digits.</p> + * more than 32 hexadecimal digits. For more information about how the entity tag + * is calculated, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetETag(const char* value) { m_eTag.assign(value); } @@ -343,7 +369,10 @@ namespace Model * opaque string. The entity tag may or may not be an MD5 digest of the object * data. If the entity tag is not an MD5 digest of the object data, it will contain * one or more nonhexadecimal characters and/or will consist of less than 32 or - * more than 32 hexadecimal digits.</p> + * more than 32 hexadecimal digits. For more information about how the entity tag + * is calculated, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline CompleteMultipartUploadResult& WithETag(const Aws::String& value) { SetETag(value); return *this;} @@ -353,7 +382,10 @@ namespace Model * opaque string. The entity tag may or may not be an MD5 digest of the object * data. If the entity tag is not an MD5 digest of the object data, it will contain * one or more nonhexadecimal characters and/or will consist of less than 32 or - * more than 32 hexadecimal digits.</p> + * more than 32 hexadecimal digits. For more information about how the entity tag + * is calculated, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline CompleteMultipartUploadResult& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} @@ -363,48 +395,335 @@ namespace Model * opaque string. The entity tag may or may not be an MD5 digest of the object * data. If the entity tag is not an MD5 digest of the object data, it will contain * one or more nonhexadecimal characters and/or will consist of less than 32 or - * more than 32 hexadecimal digits.</p> + * more than 32 hexadecimal digits. For more information about how the entity tag + * is calculated, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline CompleteMultipartUploadResult& WithETag(const char* value) { SetETag(value); return *this;} /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32() const{ return m_checksumCRC32; } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const Aws::String& value) { m_checksumCRC32 = value; } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(Aws::String&& value) { m_checksumCRC32 = std::move(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const char* value) { m_checksumCRC32.assign(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadResult& WithChecksumCRC32(const Aws::String& value) { SetChecksumCRC32(value); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadResult& WithChecksumCRC32(Aws::String&& value) { SetChecksumCRC32(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadResult& WithChecksumCRC32(const char* value) { SetChecksumCRC32(value); return *this;} + + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32C() const{ return m_checksumCRC32C; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const Aws::String& value) { m_checksumCRC32C = value; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(Aws::String&& value) { m_checksumCRC32C = std::move(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const char* value) { m_checksumCRC32C.assign(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadResult& WithChecksumCRC32C(const Aws::String& value) { SetChecksumCRC32C(value); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadResult& WithChecksumCRC32C(Aws::String&& value) { SetChecksumCRC32C(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadResult& WithChecksumCRC32C(const char* value) { SetChecksumCRC32C(value); return *this;} + + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA1() const{ return m_checksumSHA1; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const Aws::String& value) { m_checksumSHA1 = value; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(Aws::String&& value) { m_checksumSHA1 = std::move(value); } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const char* value) { m_checksumSHA1.assign(value); } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadResult& WithChecksumSHA1(const Aws::String& value) { SetChecksumSHA1(value); return *this;} + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadResult& WithChecksumSHA1(Aws::String&& value) { SetChecksumSHA1(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadResult& WithChecksumSHA1(const char* value) { SetChecksumSHA1(value); return *this;} + + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA256() const{ return m_checksumSHA256; } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const Aws::String& value) { m_checksumSHA256 = value; } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(Aws::String&& value) { m_checksumSHA256 = std::move(value); } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const char* value) { m_checksumSHA256.assign(value); } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadResult& WithChecksumSHA256(const Aws::String& value) { SetChecksumSHA256(value); return *this;} + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadResult& WithChecksumSHA256(Aws::String&& value) { SetChecksumSHA256(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompleteMultipartUploadResult& WithChecksumSHA256(const char* value) { SetChecksumSHA256(value); return *this;} + + + /** * <p>If you specified server-side encryption either with an Amazon S3-managed - * encryption key or an AWS KMS customer master key (CMK) in your initiate - * multipart upload request, the response includes this header. It confirms the - * encryption algorithm that Amazon S3 used to encrypt the object.</p> + * encryption key or an Amazon Web Services KMS key in your initiate multipart + * upload request, the response includes this header. It confirms the encryption + * algorithm that Amazon S3 used to encrypt the object.</p> */ inline const ServerSideEncryption& GetServerSideEncryption() const{ return m_serverSideEncryption; } /** * <p>If you specified server-side encryption either with an Amazon S3-managed - * encryption key or an AWS KMS customer master key (CMK) in your initiate - * multipart upload request, the response includes this header. It confirms the - * encryption algorithm that Amazon S3 used to encrypt the object.</p> + * encryption key or an Amazon Web Services KMS key in your initiate multipart + * upload request, the response includes this header. It confirms the encryption + * algorithm that Amazon S3 used to encrypt the object.</p> */ inline void SetServerSideEncryption(const ServerSideEncryption& value) { m_serverSideEncryption = value; } /** * <p>If you specified server-side encryption either with an Amazon S3-managed - * encryption key or an AWS KMS customer master key (CMK) in your initiate - * multipart upload request, the response includes this header. It confirms the - * encryption algorithm that Amazon S3 used to encrypt the object.</p> + * encryption key or an Amazon Web Services KMS key in your initiate multipart + * upload request, the response includes this header. It confirms the encryption + * algorithm that Amazon S3 used to encrypt the object.</p> */ inline void SetServerSideEncryption(ServerSideEncryption&& value) { m_serverSideEncryption = std::move(value); } /** * <p>If you specified server-side encryption either with an Amazon S3-managed - * encryption key or an AWS KMS customer master key (CMK) in your initiate - * multipart upload request, the response includes this header. It confirms the - * encryption algorithm that Amazon S3 used to encrypt the object.</p> + * encryption key or an Amazon Web Services KMS key in your initiate multipart + * upload request, the response includes this header. It confirms the encryption + * algorithm that Amazon S3 used to encrypt the object.</p> */ inline CompleteMultipartUploadResult& WithServerSideEncryption(const ServerSideEncryption& value) { SetServerSideEncryption(value); return *this;} /** * <p>If you specified server-side encryption either with an Amazon S3-managed - * encryption key or an AWS KMS customer master key (CMK) in your initiate - * multipart upload request, the response includes this header. It confirms the - * encryption algorithm that Amazon S3 used to encrypt the object.</p> + * encryption key or an Amazon Web Services KMS key in your initiate multipart + * upload request, the response includes this header. It confirms the encryption + * algorithm that Amazon S3 used to encrypt the object.</p> */ inline CompleteMultipartUploadResult& WithServerSideEncryption(ServerSideEncryption&& value) { SetServerSideEncryption(std::move(value)); return *this;} @@ -453,70 +772,70 @@ namespace Model /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyId = value; } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyId = std::move(value); } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyId.assign(value); } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline CompleteMultipartUploadResult& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline CompleteMultipartUploadResult& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline CompleteMultipartUploadResult& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} /** * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side - * encryption with AWS KMS (SSE-KMS).</p> + * encryption with Amazon Web Services KMS (SSE-KMS).</p> */ inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } /** * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side - * encryption with AWS KMS (SSE-KMS).</p> + * encryption with Amazon Web Services KMS (SSE-KMS).</p> */ inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabled = value; } /** * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side - * encryption with AWS KMS (SSE-KMS).</p> + * encryption with Amazon Web Services KMS (SSE-KMS).</p> */ inline CompleteMultipartUploadResult& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;} @@ -548,6 +867,14 @@ namespace Model Aws::String m_eTag; + Aws::String m_checksumCRC32; + + Aws::String m_checksumCRC32C; + + Aws::String m_checksumSHA1; + + Aws::String m_checksumSHA256; + ServerSideEncryption m_serverSideEncryption; Aws::String m_versionId; diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompletedMultipartUpload.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompletedMultipartUpload.h index 0970651366..a89f7743ee 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompletedMultipartUpload.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompletedMultipartUpload.h @@ -29,60 +29,76 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompletedMultipartUpload">AWS * API Reference</a></p> */ - class AWS_S3_API CompletedMultipartUpload + class CompletedMultipartUpload { public: - CompletedMultipartUpload(); - CompletedMultipartUpload(const Aws::Utils::Xml::XmlNode& xmlNode); - CompletedMultipartUpload& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API CompletedMultipartUpload(); + AWS_S3_API CompletedMultipartUpload(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API CompletedMultipartUpload& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** - * <p>Array of CompletedPart data types.</p> + * <p>Array of CompletedPart data types.</p> <p>If you do not supply a valid + * <code>Part</code> with your request, the service sends back an HTTP 400 + * response.</p> */ inline const Aws::Vector<CompletedPart>& GetParts() const{ return m_parts; } /** - * <p>Array of CompletedPart data types.</p> + * <p>Array of CompletedPart data types.</p> <p>If you do not supply a valid + * <code>Part</code> with your request, the service sends back an HTTP 400 + * response.</p> */ inline bool PartsHasBeenSet() const { return m_partsHasBeenSet; } /** - * <p>Array of CompletedPart data types.</p> + * <p>Array of CompletedPart data types.</p> <p>If you do not supply a valid + * <code>Part</code> with your request, the service sends back an HTTP 400 + * response.</p> */ inline void SetParts(const Aws::Vector<CompletedPart>& value) { m_partsHasBeenSet = true; m_parts = value; } /** - * <p>Array of CompletedPart data types.</p> + * <p>Array of CompletedPart data types.</p> <p>If you do not supply a valid + * <code>Part</code> with your request, the service sends back an HTTP 400 + * response.</p> */ inline void SetParts(Aws::Vector<CompletedPart>&& value) { m_partsHasBeenSet = true; m_parts = std::move(value); } /** - * <p>Array of CompletedPart data types.</p> + * <p>Array of CompletedPart data types.</p> <p>If you do not supply a valid + * <code>Part</code> with your request, the service sends back an HTTP 400 + * response.</p> */ inline CompletedMultipartUpload& WithParts(const Aws::Vector<CompletedPart>& value) { SetParts(value); return *this;} /** - * <p>Array of CompletedPart data types.</p> + * <p>Array of CompletedPart data types.</p> <p>If you do not supply a valid + * <code>Part</code> with your request, the service sends back an HTTP 400 + * response.</p> */ inline CompletedMultipartUpload& WithParts(Aws::Vector<CompletedPart>&& value) { SetParts(std::move(value)); return *this;} /** - * <p>Array of CompletedPart data types.</p> + * <p>Array of CompletedPart data types.</p> <p>If you do not supply a valid + * <code>Part</code> with your request, the service sends back an HTTP 400 + * response.</p> */ inline CompletedMultipartUpload& AddParts(const CompletedPart& value) { m_partsHasBeenSet = true; m_parts.push_back(value); return *this; } /** - * <p>Array of CompletedPart data types.</p> + * <p>Array of CompletedPart data types.</p> <p>If you do not supply a valid + * <code>Part</code> with your request, the service sends back an HTTP 400 + * response.</p> */ inline CompletedMultipartUpload& AddParts(CompletedPart&& value) { m_partsHasBeenSet = true; m_parts.push_back(std::move(value)); return *this; } private: Aws::Vector<CompletedPart> m_parts; - bool m_partsHasBeenSet; + bool m_partsHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompletedPart.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompletedPart.h index 5e1507d762..80e5f91a77 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompletedPart.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompletedPart.h @@ -27,14 +27,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompletedPart">AWS * API Reference</a></p> */ - class AWS_S3_API CompletedPart + class CompletedPart { public: - CompletedPart(); - CompletedPart(const Aws::Utils::Xml::XmlNode& xmlNode); - CompletedPart& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API CompletedPart(); + AWS_S3_API CompletedPart(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API CompletedPart& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -79,6 +79,330 @@ namespace Model /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32() const{ return m_checksumCRC32; } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumCRC32HasBeenSet() const { return m_checksumCRC32HasBeenSet; } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const Aws::String& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = value; } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(Aws::String&& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = std::move(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const char* value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32.assign(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompletedPart& WithChecksumCRC32(const Aws::String& value) { SetChecksumCRC32(value); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompletedPart& WithChecksumCRC32(Aws::String&& value) { SetChecksumCRC32(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompletedPart& WithChecksumCRC32(const char* value) { SetChecksumCRC32(value); return *this;} + + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32C() const{ return m_checksumCRC32C; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumCRC32CHasBeenSet() const { return m_checksumCRC32CHasBeenSet; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const Aws::String& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = value; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(Aws::String&& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = std::move(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const char* value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C.assign(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompletedPart& WithChecksumCRC32C(const Aws::String& value) { SetChecksumCRC32C(value); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompletedPart& WithChecksumCRC32C(Aws::String&& value) { SetChecksumCRC32C(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompletedPart& WithChecksumCRC32C(const char* value) { SetChecksumCRC32C(value); return *this;} + + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA1() const{ return m_checksumSHA1; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumSHA1HasBeenSet() const { return m_checksumSHA1HasBeenSet; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const Aws::String& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = value; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(Aws::String&& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = std::move(value); } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const char* value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1.assign(value); } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompletedPart& WithChecksumSHA1(const Aws::String& value) { SetChecksumSHA1(value); return *this;} + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompletedPart& WithChecksumSHA1(Aws::String&& value) { SetChecksumSHA1(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompletedPart& WithChecksumSHA1(const char* value) { SetChecksumSHA1(value); return *this;} + + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA256() const{ return m_checksumSHA256; } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumSHA256HasBeenSet() const { return m_checksumSHA256HasBeenSet; } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const Aws::String& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = value; } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(Aws::String&& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = std::move(value); } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const char* value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256.assign(value); } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompletedPart& WithChecksumSHA256(const Aws::String& value) { SetChecksumSHA256(value); return *this;} + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompletedPart& WithChecksumSHA256(Aws::String&& value) { SetChecksumSHA256(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CompletedPart& WithChecksumSHA256(const char* value) { SetChecksumSHA256(value); return *this;} + + + /** * <p>Part number that identifies the part. This is a positive integer between 1 * and 10,000.</p> */ @@ -105,10 +429,22 @@ namespace Model private: Aws::String m_eTag; - bool m_eTagHasBeenSet; + bool m_eTagHasBeenSet = false; + + Aws::String m_checksumCRC32; + bool m_checksumCRC32HasBeenSet = false; + + Aws::String m_checksumCRC32C; + bool m_checksumCRC32CHasBeenSet = false; + + Aws::String m_checksumSHA1; + bool m_checksumSHA1HasBeenSet = false; + + Aws::String m_checksumSHA256; + bool m_checksumSHA256HasBeenSet = false; int m_partNumber; - bool m_partNumberHasBeenSet; + bool m_partNumberHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Condition.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Condition.h index 3dd8f8afe6..6e0f9683a5 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Condition.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Condition.h @@ -31,14 +31,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Condition">AWS API * Reference</a></p> */ - class AWS_S3_API Condition + class Condition { public: - Condition(); - Condition(const Aws::Utils::Xml::XmlNode& xmlNode); - Condition& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Condition(); + AWS_S3_API Condition(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Condition& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -245,10 +245,10 @@ namespace Model private: Aws::String m_httpErrorCodeReturnedEquals; - bool m_httpErrorCodeReturnedEqualsHasBeenSet; + bool m_httpErrorCodeReturnedEqualsHasBeenSet = false; Aws::String m_keyPrefixEquals; - bool m_keyPrefixEqualsHasBeenSet; + bool m_keyPrefixEqualsHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectRequest.h index ccb52d1e7c..19ce9bc0b7 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectRequest.h @@ -8,6 +8,7 @@ #include <aws/s3/S3Request.h> #include <aws/s3/model/ObjectCannedACL.h> #include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <aws/core/utils/DateTime.h> #include <aws/core/utils/memory/stl/AWSMap.h> #include <aws/s3/model/MetadataDirective.h> @@ -32,10 +33,10 @@ namespace Model /** */ - class AWS_S3_API CopyObjectRequest : public S3Request + class CopyObjectRequest : public S3Request { public: - CopyObjectRequest(); + AWS_S3_API CopyObjectRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -43,12 +44,17 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CopyObject"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The canned ACL to apply to the object.</p> <p>This action is not supported by @@ -92,19 +98,19 @@ namespace Model * access point, you must direct requests to the access point hostname. The access * point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } @@ -113,19 +119,19 @@ namespace Model * access point, you must direct requests to the access point hostname. The access * point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } @@ -134,19 +140,19 @@ namespace Model * access point, you must direct requests to the access point hostname. The access * point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } @@ -155,19 +161,19 @@ namespace Model * access point, you must direct requests to the access point hostname. The access * point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } @@ -176,19 +182,19 @@ namespace Model * access point, you must direct requests to the access point hostname. The access * point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } @@ -197,19 +203,19 @@ namespace Model * access point, you must direct requests to the access point hostname. The access * point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline CopyObjectRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} @@ -218,19 +224,19 @@ namespace Model * access point, you must direct requests to the access point hostname. The access * point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline CopyObjectRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} @@ -239,19 +245,19 @@ namespace Model * access point, you must direct requests to the access point hostname. The access * point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline CopyObjectRequest& WithBucket(const char* value) { SetBucket(value); return *this;} @@ -298,6 +304,55 @@ namespace Model /** + * <p>Indicates the algorithm you want Amazon S3 to use to create the checksum for + * the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>Indicates the algorithm you want Amazon S3 to use to create the checksum for + * the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>Indicates the algorithm you want Amazon S3 to use to create the checksum for + * the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>Indicates the algorithm you want Amazon S3 to use to create the checksum for + * the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>Indicates the algorithm you want Amazon S3 to use to create the checksum for + * the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyObjectRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>Indicates the algorithm you want Amazon S3 to use to create the checksum for + * the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyObjectRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + + /** * <p>Specifies presentational information for the object.</p> */ inline const Aws::String& GetContentDisposition() const{ return m_contentDisposition; } @@ -486,10 +541,10 @@ namespace Model * specify the name of the source bucket and the key of the source object, * separated by a slash (/). For example, to copy the object * <code>reports/january.pdf</code> from the bucket <code>awsexamplebucket</code>, - * use <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL - * encoded.</p> </li> <li> <p>For objects accessed through access points, specify - * the Amazon Resource Name (ARN) of the object as accessed through the access - * point, in the format + * use <code>awsexamplebucket/reports/january.pdf</code>. The value must be + * URL-encoded.</p> </li> <li> <p>For objects accessed through access points, + * specify the Amazon Resource Name (ARN) of the object as accessed through the + * access point, in the format * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through access * point <code>my-access-point</code> owned by account <code>123456789012</code> in @@ -497,14 +552,15 @@ namespace Model * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations * using access points only when the source and destination buckets are in the same - * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 - * on Outposts, specify the ARN of the object as accessed in the format + * Amazon Web Services Region.</p> <p>Alternatively, for objects accessed + * through Amazon S3 on Outposts, specify the ARN of the object as accessed in the + * format * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through outpost * <code>my-outpost</code> owned by account <code>123456789012</code> in Region * <code>us-west-2</code>, use the URL encoding of * <code>arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf</code>. - * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * The value must be URL-encoded. </p> </li> </ul> <p>To copy a specific version of * an object, append <code>?versionId=<version-id></code> to the value (for * example, * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). @@ -522,10 +578,10 @@ namespace Model * specify the name of the source bucket and the key of the source object, * separated by a slash (/). For example, to copy the object * <code>reports/january.pdf</code> from the bucket <code>awsexamplebucket</code>, - * use <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL - * encoded.</p> </li> <li> <p>For objects accessed through access points, specify - * the Amazon Resource Name (ARN) of the object as accessed through the access - * point, in the format + * use <code>awsexamplebucket/reports/january.pdf</code>. The value must be + * URL-encoded.</p> </li> <li> <p>For objects accessed through access points, + * specify the Amazon Resource Name (ARN) of the object as accessed through the + * access point, in the format * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through access * point <code>my-access-point</code> owned by account <code>123456789012</code> in @@ -533,14 +589,15 @@ namespace Model * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations * using access points only when the source and destination buckets are in the same - * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 - * on Outposts, specify the ARN of the object as accessed in the format + * Amazon Web Services Region.</p> <p>Alternatively, for objects accessed + * through Amazon S3 on Outposts, specify the ARN of the object as accessed in the + * format * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through outpost * <code>my-outpost</code> owned by account <code>123456789012</code> in Region * <code>us-west-2</code>, use the URL encoding of * <code>arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf</code>. - * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * The value must be URL-encoded. </p> </li> </ul> <p>To copy a specific version of * an object, append <code>?versionId=<version-id></code> to the value (for * example, * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). @@ -558,10 +615,10 @@ namespace Model * specify the name of the source bucket and the key of the source object, * separated by a slash (/). For example, to copy the object * <code>reports/january.pdf</code> from the bucket <code>awsexamplebucket</code>, - * use <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL - * encoded.</p> </li> <li> <p>For objects accessed through access points, specify - * the Amazon Resource Name (ARN) of the object as accessed through the access - * point, in the format + * use <code>awsexamplebucket/reports/january.pdf</code>. The value must be + * URL-encoded.</p> </li> <li> <p>For objects accessed through access points, + * specify the Amazon Resource Name (ARN) of the object as accessed through the + * access point, in the format * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through access * point <code>my-access-point</code> owned by account <code>123456789012</code> in @@ -569,14 +626,15 @@ namespace Model * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations * using access points only when the source and destination buckets are in the same - * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 - * on Outposts, specify the ARN of the object as accessed in the format + * Amazon Web Services Region.</p> <p>Alternatively, for objects accessed + * through Amazon S3 on Outposts, specify the ARN of the object as accessed in the + * format * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through outpost * <code>my-outpost</code> owned by account <code>123456789012</code> in Region * <code>us-west-2</code>, use the URL encoding of * <code>arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf</code>. - * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * The value must be URL-encoded. </p> </li> </ul> <p>To copy a specific version of * an object, append <code>?versionId=<version-id></code> to the value (for * example, * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). @@ -594,10 +652,10 @@ namespace Model * specify the name of the source bucket and the key of the source object, * separated by a slash (/). For example, to copy the object * <code>reports/january.pdf</code> from the bucket <code>awsexamplebucket</code>, - * use <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL - * encoded.</p> </li> <li> <p>For objects accessed through access points, specify - * the Amazon Resource Name (ARN) of the object as accessed through the access - * point, in the format + * use <code>awsexamplebucket/reports/january.pdf</code>. The value must be + * URL-encoded.</p> </li> <li> <p>For objects accessed through access points, + * specify the Amazon Resource Name (ARN) of the object as accessed through the + * access point, in the format * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through access * point <code>my-access-point</code> owned by account <code>123456789012</code> in @@ -605,14 +663,15 @@ namespace Model * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations * using access points only when the source and destination buckets are in the same - * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 - * on Outposts, specify the ARN of the object as accessed in the format + * Amazon Web Services Region.</p> <p>Alternatively, for objects accessed + * through Amazon S3 on Outposts, specify the ARN of the object as accessed in the + * format * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through outpost * <code>my-outpost</code> owned by account <code>123456789012</code> in Region * <code>us-west-2</code>, use the URL encoding of * <code>arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf</code>. - * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * The value must be URL-encoded. </p> </li> </ul> <p>To copy a specific version of * an object, append <code>?versionId=<version-id></code> to the value (for * example, * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). @@ -630,10 +689,10 @@ namespace Model * specify the name of the source bucket and the key of the source object, * separated by a slash (/). For example, to copy the object * <code>reports/january.pdf</code> from the bucket <code>awsexamplebucket</code>, - * use <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL - * encoded.</p> </li> <li> <p>For objects accessed through access points, specify - * the Amazon Resource Name (ARN) of the object as accessed through the access - * point, in the format + * use <code>awsexamplebucket/reports/january.pdf</code>. The value must be + * URL-encoded.</p> </li> <li> <p>For objects accessed through access points, + * specify the Amazon Resource Name (ARN) of the object as accessed through the + * access point, in the format * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through access * point <code>my-access-point</code> owned by account <code>123456789012</code> in @@ -641,14 +700,15 @@ namespace Model * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations * using access points only when the source and destination buckets are in the same - * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 - * on Outposts, specify the ARN of the object as accessed in the format + * Amazon Web Services Region.</p> <p>Alternatively, for objects accessed + * through Amazon S3 on Outposts, specify the ARN of the object as accessed in the + * format * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through outpost * <code>my-outpost</code> owned by account <code>123456789012</code> in Region * <code>us-west-2</code>, use the URL encoding of * <code>arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf</code>. - * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * The value must be URL-encoded. </p> </li> </ul> <p>To copy a specific version of * an object, append <code>?versionId=<version-id></code> to the value (for * example, * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). @@ -666,10 +726,10 @@ namespace Model * specify the name of the source bucket and the key of the source object, * separated by a slash (/). For example, to copy the object * <code>reports/january.pdf</code> from the bucket <code>awsexamplebucket</code>, - * use <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL - * encoded.</p> </li> <li> <p>For objects accessed through access points, specify - * the Amazon Resource Name (ARN) of the object as accessed through the access - * point, in the format + * use <code>awsexamplebucket/reports/january.pdf</code>. The value must be + * URL-encoded.</p> </li> <li> <p>For objects accessed through access points, + * specify the Amazon Resource Name (ARN) of the object as accessed through the + * access point, in the format * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through access * point <code>my-access-point</code> owned by account <code>123456789012</code> in @@ -677,14 +737,15 @@ namespace Model * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations * using access points only when the source and destination buckets are in the same - * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 - * on Outposts, specify the ARN of the object as accessed in the format + * Amazon Web Services Region.</p> <p>Alternatively, for objects accessed + * through Amazon S3 on Outposts, specify the ARN of the object as accessed in the + * format * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through outpost * <code>my-outpost</code> owned by account <code>123456789012</code> in Region * <code>us-west-2</code>, use the URL encoding of * <code>arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf</code>. - * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * The value must be URL-encoded. </p> </li> </ul> <p>To copy a specific version of * an object, append <code>?versionId=<version-id></code> to the value (for * example, * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). @@ -702,10 +763,10 @@ namespace Model * specify the name of the source bucket and the key of the source object, * separated by a slash (/). For example, to copy the object * <code>reports/january.pdf</code> from the bucket <code>awsexamplebucket</code>, - * use <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL - * encoded.</p> </li> <li> <p>For objects accessed through access points, specify - * the Amazon Resource Name (ARN) of the object as accessed through the access - * point, in the format + * use <code>awsexamplebucket/reports/january.pdf</code>. The value must be + * URL-encoded.</p> </li> <li> <p>For objects accessed through access points, + * specify the Amazon Resource Name (ARN) of the object as accessed through the + * access point, in the format * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through access * point <code>my-access-point</code> owned by account <code>123456789012</code> in @@ -713,14 +774,15 @@ namespace Model * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations * using access points only when the source and destination buckets are in the same - * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 - * on Outposts, specify the ARN of the object as accessed in the format + * Amazon Web Services Region.</p> <p>Alternatively, for objects accessed + * through Amazon S3 on Outposts, specify the ARN of the object as accessed in the + * format * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through outpost * <code>my-outpost</code> owned by account <code>123456789012</code> in Region * <code>us-west-2</code>, use the URL encoding of * <code>arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf</code>. - * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * The value must be URL-encoded. </p> </li> </ul> <p>To copy a specific version of * an object, append <code>?versionId=<version-id></code> to the value (for * example, * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). @@ -738,10 +800,10 @@ namespace Model * specify the name of the source bucket and the key of the source object, * separated by a slash (/). For example, to copy the object * <code>reports/january.pdf</code> from the bucket <code>awsexamplebucket</code>, - * use <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL - * encoded.</p> </li> <li> <p>For objects accessed through access points, specify - * the Amazon Resource Name (ARN) of the object as accessed through the access - * point, in the format + * use <code>awsexamplebucket/reports/january.pdf</code>. The value must be + * URL-encoded.</p> </li> <li> <p>For objects accessed through access points, + * specify the Amazon Resource Name (ARN) of the object as accessed through the + * access point, in the format * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through access * point <code>my-access-point</code> owned by account <code>123456789012</code> in @@ -749,14 +811,15 @@ namespace Model * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations * using access points only when the source and destination buckets are in the same - * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 - * on Outposts, specify the ARN of the object as accessed in the format + * Amazon Web Services Region.</p> <p>Alternatively, for objects accessed + * through Amazon S3 on Outposts, specify the ARN of the object as accessed in the + * format * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through outpost * <code>my-outpost</code> owned by account <code>123456789012</code> in Region * <code>us-west-2</code>, use the URL encoding of * <code>arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf</code>. - * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * The value must be URL-encoded. </p> </li> </ul> <p>To copy a specific version of * an object, append <code>?versionId=<version-id></code> to the value (for * example, * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). @@ -1370,7 +1433,7 @@ namespace Model * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For * more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage - * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + * Classes</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const StorageClass& GetStorageClass() const{ return m_storageClass; } @@ -1381,7 +1444,7 @@ namespace Model * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For * more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage - * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + * Classes</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; } @@ -1392,7 +1455,7 @@ namespace Model * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For * more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage - * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + * Classes</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetStorageClass(const StorageClass& value) { m_storageClassHasBeenSet = true; m_storageClass = value; } @@ -1403,7 +1466,7 @@ namespace Model * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For * more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage - * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + * Classes</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetStorageClass(StorageClass&& value) { m_storageClassHasBeenSet = true; m_storageClass = std::move(value); } @@ -1414,7 +1477,7 @@ namespace Model * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For * more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage - * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + * Classes</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline CopyObjectRequest& WithStorageClass(const StorageClass& value) { SetStorageClass(value); return *this;} @@ -1425,7 +1488,7 @@ namespace Model * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For * more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage - * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + * Classes</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline CopyObjectRequest& WithStorageClass(StorageClass&& value) { SetStorageClass(std::move(value)); return *this;} @@ -1667,147 +1730,155 @@ namespace Model /** - * <p>Specifies the AWS KMS key ID to use for object encryption. All GET and PUT - * requests for an object protected by AWS KMS will fail if not made via SSL or - * using SigV4. For information about configuring using any of the officially - * supported AWS SDKs and AWS CLI, see <a + * <p>Specifies the Amazon Web Services KMS key ID to use for object encryption. + * All GET and PUT requests for an object protected by Amazon Web Services KMS will + * fail if not made via SSL or using SigV4. For information about configuring using + * any of the officially supported Amazon Web Services SDKs and Amazon Web Services + * CLI, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying - * the Signature Version in Request Authentication</a> in the <i>Amazon S3 - * Developer Guide</i>.</p> + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 User + * Guide</i>.</p> */ inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } /** - * <p>Specifies the AWS KMS key ID to use for object encryption. All GET and PUT - * requests for an object protected by AWS KMS will fail if not made via SSL or - * using SigV4. For information about configuring using any of the officially - * supported AWS SDKs and AWS CLI, see <a + * <p>Specifies the Amazon Web Services KMS key ID to use for object encryption. + * All GET and PUT requests for an object protected by Amazon Web Services KMS will + * fail if not made via SSL or using SigV4. For information about configuring using + * any of the officially supported Amazon Web Services SDKs and Amazon Web Services + * CLI, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying - * the Signature Version in Request Authentication</a> in the <i>Amazon S3 - * Developer Guide</i>.</p> + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 User + * Guide</i>.</p> */ inline bool SSEKMSKeyIdHasBeenSet() const { return m_sSEKMSKeyIdHasBeenSet; } /** - * <p>Specifies the AWS KMS key ID to use for object encryption. All GET and PUT - * requests for an object protected by AWS KMS will fail if not made via SSL or - * using SigV4. For information about configuring using any of the officially - * supported AWS SDKs and AWS CLI, see <a + * <p>Specifies the Amazon Web Services KMS key ID to use for object encryption. + * All GET and PUT requests for an object protected by Amazon Web Services KMS will + * fail if not made via SSL or using SigV4. For information about configuring using + * any of the officially supported Amazon Web Services SDKs and Amazon Web Services + * CLI, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying - * the Signature Version in Request Authentication</a> in the <i>Amazon S3 - * Developer Guide</i>.</p> + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 User + * Guide</i>.</p> */ inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId = value; } /** - * <p>Specifies the AWS KMS key ID to use for object encryption. All GET and PUT - * requests for an object protected by AWS KMS will fail if not made via SSL or - * using SigV4. For information about configuring using any of the officially - * supported AWS SDKs and AWS CLI, see <a + * <p>Specifies the Amazon Web Services KMS key ID to use for object encryption. + * All GET and PUT requests for an object protected by Amazon Web Services KMS will + * fail if not made via SSL or using SigV4. For information about configuring using + * any of the officially supported Amazon Web Services SDKs and Amazon Web Services + * CLI, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying - * the Signature Version in Request Authentication</a> in the <i>Amazon S3 - * Developer Guide</i>.</p> + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 User + * Guide</i>.</p> */ inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId = std::move(value); } /** - * <p>Specifies the AWS KMS key ID to use for object encryption. All GET and PUT - * requests for an object protected by AWS KMS will fail if not made via SSL or - * using SigV4. For information about configuring using any of the officially - * supported AWS SDKs and AWS CLI, see <a + * <p>Specifies the Amazon Web Services KMS key ID to use for object encryption. + * All GET and PUT requests for an object protected by Amazon Web Services KMS will + * fail if not made via SSL or using SigV4. For information about configuring using + * any of the officially supported Amazon Web Services SDKs and Amazon Web Services + * CLI, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying - * the Signature Version in Request Authentication</a> in the <i>Amazon S3 - * Developer Guide</i>.</p> + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 User + * Guide</i>.</p> */ inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId.assign(value); } /** - * <p>Specifies the AWS KMS key ID to use for object encryption. All GET and PUT - * requests for an object protected by AWS KMS will fail if not made via SSL or - * using SigV4. For information about configuring using any of the officially - * supported AWS SDKs and AWS CLI, see <a + * <p>Specifies the Amazon Web Services KMS key ID to use for object encryption. + * All GET and PUT requests for an object protected by Amazon Web Services KMS will + * fail if not made via SSL or using SigV4. For information about configuring using + * any of the officially supported Amazon Web Services SDKs and Amazon Web Services + * CLI, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying - * the Signature Version in Request Authentication</a> in the <i>Amazon S3 - * Developer Guide</i>.</p> + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 User + * Guide</i>.</p> */ inline CopyObjectRequest& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} /** - * <p>Specifies the AWS KMS key ID to use for object encryption. All GET and PUT - * requests for an object protected by AWS KMS will fail if not made via SSL or - * using SigV4. For information about configuring using any of the officially - * supported AWS SDKs and AWS CLI, see <a + * <p>Specifies the Amazon Web Services KMS key ID to use for object encryption. + * All GET and PUT requests for an object protected by Amazon Web Services KMS will + * fail if not made via SSL or using SigV4. For information about configuring using + * any of the officially supported Amazon Web Services SDKs and Amazon Web Services + * CLI, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying - * the Signature Version in Request Authentication</a> in the <i>Amazon S3 - * Developer Guide</i>.</p> + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 User + * Guide</i>.</p> */ inline CopyObjectRequest& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} /** - * <p>Specifies the AWS KMS key ID to use for object encryption. All GET and PUT - * requests for an object protected by AWS KMS will fail if not made via SSL or - * using SigV4. For information about configuring using any of the officially - * supported AWS SDKs and AWS CLI, see <a + * <p>Specifies the Amazon Web Services KMS key ID to use for object encryption. + * All GET and PUT requests for an object protected by Amazon Web Services KMS will + * fail if not made via SSL or using SigV4. For information about configuring using + * any of the officially supported Amazon Web Services SDKs and Amazon Web Services + * CLI, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying - * the Signature Version in Request Authentication</a> in the <i>Amazon S3 - * Developer Guide</i>.</p> + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 User + * Guide</i>.</p> */ inline CopyObjectRequest& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} /** - * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The - * value of this header is a base64-encoded UTF-8 string holding JSON with the - * encryption context key-value pairs.</p> + * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> */ inline const Aws::String& GetSSEKMSEncryptionContext() const{ return m_sSEKMSEncryptionContext; } /** - * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The - * value of this header is a base64-encoded UTF-8 string holding JSON with the - * encryption context key-value pairs.</p> + * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> */ inline bool SSEKMSEncryptionContextHasBeenSet() const { return m_sSEKMSEncryptionContextHasBeenSet; } /** - * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The - * value of this header is a base64-encoded UTF-8 string holding JSON with the - * encryption context key-value pairs.</p> + * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> */ inline void SetSSEKMSEncryptionContext(const Aws::String& value) { m_sSEKMSEncryptionContextHasBeenSet = true; m_sSEKMSEncryptionContext = value; } /** - * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The - * value of this header is a base64-encoded UTF-8 string holding JSON with the - * encryption context key-value pairs.</p> + * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> */ inline void SetSSEKMSEncryptionContext(Aws::String&& value) { m_sSEKMSEncryptionContextHasBeenSet = true; m_sSEKMSEncryptionContext = std::move(value); } /** - * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The - * value of this header is a base64-encoded UTF-8 string holding JSON with the - * encryption context key-value pairs.</p> + * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> */ inline void SetSSEKMSEncryptionContext(const char* value) { m_sSEKMSEncryptionContextHasBeenSet = true; m_sSEKMSEncryptionContext.assign(value); } /** - * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The - * value of this header is a base64-encoded UTF-8 string holding JSON with the - * encryption context key-value pairs.</p> + * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> */ inline CopyObjectRequest& WithSSEKMSEncryptionContext(const Aws::String& value) { SetSSEKMSEncryptionContext(value); return *this;} /** - * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The - * value of this header is a base64-encoded UTF-8 string holding JSON with the - * encryption context key-value pairs.</p> + * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> */ inline CopyObjectRequest& WithSSEKMSEncryptionContext(Aws::String&& value) { SetSSEKMSEncryptionContext(std::move(value)); return *this;} /** - * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The - * value of this header is a base64-encoded UTF-8 string holding JSON with the - * encryption context key-value pairs.</p> + * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> */ inline CopyObjectRequest& WithSSEKMSEncryptionContext(const char* value) { SetSSEKMSEncryptionContext(value); return *this;} @@ -2157,146 +2228,146 @@ namespace Model /** - * <p>Specifies whether you want to apply a Legal Hold to the copied object.</p> + * <p>Specifies whether you want to apply a legal hold to the copied object.</p> */ inline const ObjectLockLegalHoldStatus& GetObjectLockLegalHoldStatus() const{ return m_objectLockLegalHoldStatus; } /** - * <p>Specifies whether you want to apply a Legal Hold to the copied object.</p> + * <p>Specifies whether you want to apply a legal hold to the copied object.</p> */ inline bool ObjectLockLegalHoldStatusHasBeenSet() const { return m_objectLockLegalHoldStatusHasBeenSet; } /** - * <p>Specifies whether you want to apply a Legal Hold to the copied object.</p> + * <p>Specifies whether you want to apply a legal hold to the copied object.</p> */ inline void SetObjectLockLegalHoldStatus(const ObjectLockLegalHoldStatus& value) { m_objectLockLegalHoldStatusHasBeenSet = true; m_objectLockLegalHoldStatus = value; } /** - * <p>Specifies whether you want to apply a Legal Hold to the copied object.</p> + * <p>Specifies whether you want to apply a legal hold to the copied object.</p> */ inline void SetObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus&& value) { m_objectLockLegalHoldStatusHasBeenSet = true; m_objectLockLegalHoldStatus = std::move(value); } /** - * <p>Specifies whether you want to apply a Legal Hold to the copied object.</p> + * <p>Specifies whether you want to apply a legal hold to the copied object.</p> */ inline CopyObjectRequest& WithObjectLockLegalHoldStatus(const ObjectLockLegalHoldStatus& value) { SetObjectLockLegalHoldStatus(value); return *this;} /** - * <p>Specifies whether you want to apply a Legal Hold to the copied object.</p> + * <p>Specifies whether you want to apply a legal hold to the copied object.</p> */ inline CopyObjectRequest& WithObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus&& value) { SetObjectLockLegalHoldStatus(std::move(value)); return *this;} /** * <p>The account ID of the expected destination bucket owner. If the destination - * bucket is owned by a different account, the request will fail with an HTTP - * <code>403 (Access Denied)</code> error.</p> + * bucket is owned by a different account, the request fails with the HTTP status + * code <code>403 Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected destination bucket owner. If the destination - * bucket is owned by a different account, the request will fail with an HTTP - * <code>403 (Access Denied)</code> error.</p> + * bucket is owned by a different account, the request fails with the HTTP status + * code <code>403 Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected destination bucket owner. If the destination - * bucket is owned by a different account, the request will fail with an HTTP - * <code>403 (Access Denied)</code> error.</p> + * bucket is owned by a different account, the request fails with the HTTP status + * code <code>403 Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected destination bucket owner. If the destination - * bucket is owned by a different account, the request will fail with an HTTP - * <code>403 (Access Denied)</code> error.</p> + * bucket is owned by a different account, the request fails with the HTTP status + * code <code>403 Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected destination bucket owner. If the destination - * bucket is owned by a different account, the request will fail with an HTTP - * <code>403 (Access Denied)</code> error.</p> + * bucket is owned by a different account, the request fails with the HTTP status + * code <code>403 Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected destination bucket owner. If the destination - * bucket is owned by a different account, the request will fail with an HTTP - * <code>403 (Access Denied)</code> error.</p> + * bucket is owned by a different account, the request fails with the HTTP status + * code <code>403 Forbidden</code> (access denied).</p> */ inline CopyObjectRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected destination bucket owner. If the destination - * bucket is owned by a different account, the request will fail with an HTTP - * <code>403 (Access Denied)</code> error.</p> + * bucket is owned by a different account, the request fails with the HTTP status + * code <code>403 Forbidden</code> (access denied).</p> */ inline CopyObjectRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected destination bucket owner. If the destination - * bucket is owned by a different account, the request will fail with an HTTP - * <code>403 (Access Denied)</code> error.</p> + * bucket is owned by a different account, the request fails with the HTTP status + * code <code>403 Forbidden</code> (access denied).</p> */ inline CopyObjectRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected source bucket owner. If the source bucket is - * owned by a different account, the request will fail with an HTTP <code>403 - * (Access Denied)</code> error.</p> + * owned by a different account, the request fails with the HTTP status code + * <code>403 Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedSourceBucketOwner() const{ return m_expectedSourceBucketOwner; } /** * <p>The account ID of the expected source bucket owner. If the source bucket is - * owned by a different account, the request will fail with an HTTP <code>403 - * (Access Denied)</code> error.</p> + * owned by a different account, the request fails with the HTTP status code + * <code>403 Forbidden</code> (access denied).</p> */ inline bool ExpectedSourceBucketOwnerHasBeenSet() const { return m_expectedSourceBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected source bucket owner. If the source bucket is - * owned by a different account, the request will fail with an HTTP <code>403 - * (Access Denied)</code> error.</p> + * owned by a different account, the request fails with the HTTP status code + * <code>403 Forbidden</code> (access denied).</p> */ inline void SetExpectedSourceBucketOwner(const Aws::String& value) { m_expectedSourceBucketOwnerHasBeenSet = true; m_expectedSourceBucketOwner = value; } /** * <p>The account ID of the expected source bucket owner. If the source bucket is - * owned by a different account, the request will fail with an HTTP <code>403 - * (Access Denied)</code> error.</p> + * owned by a different account, the request fails with the HTTP status code + * <code>403 Forbidden</code> (access denied).</p> */ inline void SetExpectedSourceBucketOwner(Aws::String&& value) { m_expectedSourceBucketOwnerHasBeenSet = true; m_expectedSourceBucketOwner = std::move(value); } /** * <p>The account ID of the expected source bucket owner. If the source bucket is - * owned by a different account, the request will fail with an HTTP <code>403 - * (Access Denied)</code> error.</p> + * owned by a different account, the request fails with the HTTP status code + * <code>403 Forbidden</code> (access denied).</p> */ inline void SetExpectedSourceBucketOwner(const char* value) { m_expectedSourceBucketOwnerHasBeenSet = true; m_expectedSourceBucketOwner.assign(value); } /** * <p>The account ID of the expected source bucket owner. If the source bucket is - * owned by a different account, the request will fail with an HTTP <code>403 - * (Access Denied)</code> error.</p> + * owned by a different account, the request fails with the HTTP status code + * <code>403 Forbidden</code> (access denied).</p> */ inline CopyObjectRequest& WithExpectedSourceBucketOwner(const Aws::String& value) { SetExpectedSourceBucketOwner(value); return *this;} /** * <p>The account ID of the expected source bucket owner. If the source bucket is - * owned by a different account, the request will fail with an HTTP <code>403 - * (Access Denied)</code> error.</p> + * owned by a different account, the request fails with the HTTP status code + * <code>403 Forbidden</code> (access denied).</p> */ inline CopyObjectRequest& WithExpectedSourceBucketOwner(Aws::String&& value) { SetExpectedSourceBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected source bucket owner. If the source bucket is - * owned by a different account, the request will fail with an HTTP <code>403 - * (Access Denied)</code> error.</p> + * owned by a different account, the request fails with the HTTP status code + * <code>403 Forbidden</code> (access denied).</p> */ inline CopyObjectRequest& WithExpectedSourceBucketOwner(const char* value) { SetExpectedSourceBucketOwner(value); return *this;} @@ -2343,127 +2414,130 @@ namespace Model private: ObjectCannedACL m_aCL; - bool m_aCLHasBeenSet; + bool m_aCLHasBeenSet = false; Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_cacheControl; - bool m_cacheControlHasBeenSet; + bool m_cacheControlHasBeenSet = false; + + ChecksumAlgorithm m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; Aws::String m_contentDisposition; - bool m_contentDispositionHasBeenSet; + bool m_contentDispositionHasBeenSet = false; Aws::String m_contentEncoding; - bool m_contentEncodingHasBeenSet; + bool m_contentEncodingHasBeenSet = false; Aws::String m_contentLanguage; - bool m_contentLanguageHasBeenSet; + bool m_contentLanguageHasBeenSet = false; Aws::String m_contentType; - bool m_contentTypeHasBeenSet; + bool m_contentTypeHasBeenSet = false; Aws::String m_copySource; - bool m_copySourceHasBeenSet; + bool m_copySourceHasBeenSet = false; Aws::String m_copySourceIfMatch; - bool m_copySourceIfMatchHasBeenSet; + bool m_copySourceIfMatchHasBeenSet = false; Aws::Utils::DateTime m_copySourceIfModifiedSince; - bool m_copySourceIfModifiedSinceHasBeenSet; + bool m_copySourceIfModifiedSinceHasBeenSet = false; Aws::String m_copySourceIfNoneMatch; - bool m_copySourceIfNoneMatchHasBeenSet; + bool m_copySourceIfNoneMatchHasBeenSet = false; Aws::Utils::DateTime m_copySourceIfUnmodifiedSince; - bool m_copySourceIfUnmodifiedSinceHasBeenSet; + bool m_copySourceIfUnmodifiedSinceHasBeenSet = false; Aws::Utils::DateTime m_expires; - bool m_expiresHasBeenSet; + bool m_expiresHasBeenSet = false; Aws::String m_grantFullControl; - bool m_grantFullControlHasBeenSet; + bool m_grantFullControlHasBeenSet = false; Aws::String m_grantRead; - bool m_grantReadHasBeenSet; + bool m_grantReadHasBeenSet = false; Aws::String m_grantReadACP; - bool m_grantReadACPHasBeenSet; + bool m_grantReadACPHasBeenSet = false; Aws::String m_grantWriteACP; - bool m_grantWriteACPHasBeenSet; + bool m_grantWriteACPHasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_metadata; - bool m_metadataHasBeenSet; + bool m_metadataHasBeenSet = false; MetadataDirective m_metadataDirective; - bool m_metadataDirectiveHasBeenSet; + bool m_metadataDirectiveHasBeenSet = false; TaggingDirective m_taggingDirective; - bool m_taggingDirectiveHasBeenSet; + bool m_taggingDirectiveHasBeenSet = false; ServerSideEncryption m_serverSideEncryption; - bool m_serverSideEncryptionHasBeenSet; + bool m_serverSideEncryptionHasBeenSet = false; StorageClass m_storageClass; - bool m_storageClassHasBeenSet; + bool m_storageClassHasBeenSet = false; Aws::String m_websiteRedirectLocation; - bool m_websiteRedirectLocationHasBeenSet; + bool m_websiteRedirectLocationHasBeenSet = false; Aws::String m_sSECustomerAlgorithm; - bool m_sSECustomerAlgorithmHasBeenSet; + bool m_sSECustomerAlgorithmHasBeenSet = false; Aws::String m_sSECustomerKey; - bool m_sSECustomerKeyHasBeenSet; + bool m_sSECustomerKeyHasBeenSet = false; Aws::String m_sSECustomerKeyMD5; - bool m_sSECustomerKeyMD5HasBeenSet; + bool m_sSECustomerKeyMD5HasBeenSet = false; Aws::String m_sSEKMSKeyId; - bool m_sSEKMSKeyIdHasBeenSet; + bool m_sSEKMSKeyIdHasBeenSet = false; Aws::String m_sSEKMSEncryptionContext; - bool m_sSEKMSEncryptionContextHasBeenSet; + bool m_sSEKMSEncryptionContextHasBeenSet = false; bool m_bucketKeyEnabled; - bool m_bucketKeyEnabledHasBeenSet; + bool m_bucketKeyEnabledHasBeenSet = false; Aws::String m_copySourceSSECustomerAlgorithm; - bool m_copySourceSSECustomerAlgorithmHasBeenSet; + bool m_copySourceSSECustomerAlgorithmHasBeenSet = false; Aws::String m_copySourceSSECustomerKey; - bool m_copySourceSSECustomerKeyHasBeenSet; + bool m_copySourceSSECustomerKeyHasBeenSet = false; Aws::String m_copySourceSSECustomerKeyMD5; - bool m_copySourceSSECustomerKeyMD5HasBeenSet; + bool m_copySourceSSECustomerKeyMD5HasBeenSet = false; RequestPayer m_requestPayer; - bool m_requestPayerHasBeenSet; + bool m_requestPayerHasBeenSet = false; Aws::String m_tagging; - bool m_taggingHasBeenSet; + bool m_taggingHasBeenSet = false; ObjectLockMode m_objectLockMode; - bool m_objectLockModeHasBeenSet; + bool m_objectLockModeHasBeenSet = false; Aws::Utils::DateTime m_objectLockRetainUntilDate; - bool m_objectLockRetainUntilDateHasBeenSet; + bool m_objectLockRetainUntilDateHasBeenSet = false; ObjectLockLegalHoldStatus m_objectLockLegalHoldStatus; - bool m_objectLockLegalHoldStatusHasBeenSet; + bool m_objectLockLegalHoldStatusHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::String m_expectedSourceBucketOwner; - bool m_expectedSourceBucketOwnerHasBeenSet; + bool m_expectedSourceBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectResult.h index 386f654c30..3beca77c36 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectResult.h @@ -27,12 +27,12 @@ namespace S3 { namespace Model { - class AWS_S3_API CopyObjectResult + class CopyObjectResult { public: - CopyObjectResult(); - CopyObjectResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - CopyObjectResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API CopyObjectResult(); + AWS_S3_API CopyObjectResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API CopyObjectResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** @@ -282,120 +282,120 @@ namespace Model /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyId = value; } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyId = std::move(value); } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyId.assign(value); } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline CopyObjectResult& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline CopyObjectResult& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline CopyObjectResult& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} /** - * <p>If present, specifies the AWS KMS Encryption Context to use for object - * encryption. The value of this header is a base64-encoded UTF-8 string holding - * JSON with the encryption context key-value pairs.</p> + * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use + * for object encryption. The value of this header is a base64-encoded UTF-8 string + * holding JSON with the encryption context key-value pairs.</p> */ inline const Aws::String& GetSSEKMSEncryptionContext() const{ return m_sSEKMSEncryptionContext; } /** - * <p>If present, specifies the AWS KMS Encryption Context to use for object - * encryption. The value of this header is a base64-encoded UTF-8 string holding - * JSON with the encryption context key-value pairs.</p> + * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use + * for object encryption. The value of this header is a base64-encoded UTF-8 string + * holding JSON with the encryption context key-value pairs.</p> */ inline void SetSSEKMSEncryptionContext(const Aws::String& value) { m_sSEKMSEncryptionContext = value; } /** - * <p>If present, specifies the AWS KMS Encryption Context to use for object - * encryption. The value of this header is a base64-encoded UTF-8 string holding - * JSON with the encryption context key-value pairs.</p> + * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use + * for object encryption. The value of this header is a base64-encoded UTF-8 string + * holding JSON with the encryption context key-value pairs.</p> */ inline void SetSSEKMSEncryptionContext(Aws::String&& value) { m_sSEKMSEncryptionContext = std::move(value); } /** - * <p>If present, specifies the AWS KMS Encryption Context to use for object - * encryption. The value of this header is a base64-encoded UTF-8 string holding - * JSON with the encryption context key-value pairs.</p> + * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use + * for object encryption. The value of this header is a base64-encoded UTF-8 string + * holding JSON with the encryption context key-value pairs.</p> */ inline void SetSSEKMSEncryptionContext(const char* value) { m_sSEKMSEncryptionContext.assign(value); } /** - * <p>If present, specifies the AWS KMS Encryption Context to use for object - * encryption. The value of this header is a base64-encoded UTF-8 string holding - * JSON with the encryption context key-value pairs.</p> + * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use + * for object encryption. The value of this header is a base64-encoded UTF-8 string + * holding JSON with the encryption context key-value pairs.</p> */ inline CopyObjectResult& WithSSEKMSEncryptionContext(const Aws::String& value) { SetSSEKMSEncryptionContext(value); return *this;} /** - * <p>If present, specifies the AWS KMS Encryption Context to use for object - * encryption. The value of this header is a base64-encoded UTF-8 string holding - * JSON with the encryption context key-value pairs.</p> + * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use + * for object encryption. The value of this header is a base64-encoded UTF-8 string + * holding JSON with the encryption context key-value pairs.</p> */ inline CopyObjectResult& WithSSEKMSEncryptionContext(Aws::String&& value) { SetSSEKMSEncryptionContext(std::move(value)); return *this;} /** - * <p>If present, specifies the AWS KMS Encryption Context to use for object - * encryption. The value of this header is a base64-encoded UTF-8 string holding - * JSON with the encryption context key-value pairs.</p> + * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use + * for object encryption. The value of this header is a base64-encoded UTF-8 string + * holding JSON with the encryption context key-value pairs.</p> */ inline CopyObjectResult& WithSSEKMSEncryptionContext(const char* value) { SetSSEKMSEncryptionContext(value); return *this;} /** * <p>Indicates whether the copied object uses an S3 Bucket Key for server-side - * encryption with AWS KMS (SSE-KMS).</p> + * encryption with Amazon Web Services KMS (SSE-KMS).</p> */ inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } /** * <p>Indicates whether the copied object uses an S3 Bucket Key for server-side - * encryption with AWS KMS (SSE-KMS).</p> + * encryption with Amazon Web Services KMS (SSE-KMS).</p> */ inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabled = value; } /** * <p>Indicates whether the copied object uses an S3 Bucket Key for server-side - * encryption with AWS KMS (SSE-KMS).</p> + * encryption with Amazon Web Services KMS (SSE-KMS).</p> */ inline CopyObjectResult& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectResultDetails.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectResultDetails.h index 69187574c3..ffd8efb64c 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectResultDetails.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectResultDetails.h @@ -28,69 +28,61 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObjectResult">AWS * API Reference</a></p> */ - class AWS_S3_API CopyObjectResultDetails + class CopyObjectResultDetails { public: - CopyObjectResultDetails(); - CopyObjectResultDetails(const Aws::Utils::Xml::XmlNode& xmlNode); - CopyObjectResultDetails& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API CopyObjectResultDetails(); + AWS_S3_API CopyObjectResultDetails(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API CopyObjectResultDetails& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** * <p>Returns the ETag of the new object. The ETag reflects only changes to the - * contents of an object, not its metadata. The source and destination ETag is - * identical for a successfully copied non-multipart object.</p> + * contents of an object, not its metadata.</p> */ inline const Aws::String& GetETag() const{ return m_eTag; } /** * <p>Returns the ETag of the new object. The ETag reflects only changes to the - * contents of an object, not its metadata. The source and destination ETag is - * identical for a successfully copied non-multipart object.</p> + * contents of an object, not its metadata.</p> */ inline bool ETagHasBeenSet() const { return m_eTagHasBeenSet; } /** * <p>Returns the ETag of the new object. The ETag reflects only changes to the - * contents of an object, not its metadata. The source and destination ETag is - * identical for a successfully copied non-multipart object.</p> + * contents of an object, not its metadata.</p> */ inline void SetETag(const Aws::String& value) { m_eTagHasBeenSet = true; m_eTag = value; } /** * <p>Returns the ETag of the new object. The ETag reflects only changes to the - * contents of an object, not its metadata. The source and destination ETag is - * identical for a successfully copied non-multipart object.</p> + * contents of an object, not its metadata.</p> */ inline void SetETag(Aws::String&& value) { m_eTagHasBeenSet = true; m_eTag = std::move(value); } /** * <p>Returns the ETag of the new object. The ETag reflects only changes to the - * contents of an object, not its metadata. The source and destination ETag is - * identical for a successfully copied non-multipart object.</p> + * contents of an object, not its metadata.</p> */ inline void SetETag(const char* value) { m_eTagHasBeenSet = true; m_eTag.assign(value); } /** * <p>Returns the ETag of the new object. The ETag reflects only changes to the - * contents of an object, not its metadata. The source and destination ETag is - * identical for a successfully copied non-multipart object.</p> + * contents of an object, not its metadata.</p> */ inline CopyObjectResultDetails& WithETag(const Aws::String& value) { SetETag(value); return *this;} /** * <p>Returns the ETag of the new object. The ETag reflects only changes to the - * contents of an object, not its metadata. The source and destination ETag is - * identical for a successfully copied non-multipart object.</p> + * contents of an object, not its metadata.</p> */ inline CopyObjectResultDetails& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} /** * <p>Returns the ETag of the new object. The ETag reflects only changes to the - * contents of an object, not its metadata. The source and destination ETag is - * identical for a successfully copied non-multipart object.</p> + * contents of an object, not its metadata.</p> */ inline CopyObjectResultDetails& WithETag(const char* value) { SetETag(value); return *this;} @@ -125,13 +117,349 @@ namespace Model */ inline CopyObjectResultDetails& WithLastModified(Aws::Utils::DateTime&& value) { SetLastModified(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32() const{ return m_checksumCRC32; } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumCRC32HasBeenSet() const { return m_checksumCRC32HasBeenSet; } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const Aws::String& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = value; } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(Aws::String&& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = std::move(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const char* value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32.assign(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyObjectResultDetails& WithChecksumCRC32(const Aws::String& value) { SetChecksumCRC32(value); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyObjectResultDetails& WithChecksumCRC32(Aws::String&& value) { SetChecksumCRC32(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyObjectResultDetails& WithChecksumCRC32(const char* value) { SetChecksumCRC32(value); return *this;} + + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32C() const{ return m_checksumCRC32C; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumCRC32CHasBeenSet() const { return m_checksumCRC32CHasBeenSet; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const Aws::String& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = value; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(Aws::String&& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = std::move(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const char* value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C.assign(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyObjectResultDetails& WithChecksumCRC32C(const Aws::String& value) { SetChecksumCRC32C(value); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyObjectResultDetails& WithChecksumCRC32C(Aws::String&& value) { SetChecksumCRC32C(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyObjectResultDetails& WithChecksumCRC32C(const char* value) { SetChecksumCRC32C(value); return *this;} + + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA1() const{ return m_checksumSHA1; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumSHA1HasBeenSet() const { return m_checksumSHA1HasBeenSet; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const Aws::String& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = value; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(Aws::String&& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = std::move(value); } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const char* value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1.assign(value); } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyObjectResultDetails& WithChecksumSHA1(const Aws::String& value) { SetChecksumSHA1(value); return *this;} + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyObjectResultDetails& WithChecksumSHA1(Aws::String&& value) { SetChecksumSHA1(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyObjectResultDetails& WithChecksumSHA1(const char* value) { SetChecksumSHA1(value); return *this;} + + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA256() const{ return m_checksumSHA256; } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumSHA256HasBeenSet() const { return m_checksumSHA256HasBeenSet; } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const Aws::String& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = value; } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(Aws::String&& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = std::move(value); } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const char* value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256.assign(value); } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyObjectResultDetails& WithChecksumSHA256(const Aws::String& value) { SetChecksumSHA256(value); return *this;} + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyObjectResultDetails& WithChecksumSHA256(Aws::String&& value) { SetChecksumSHA256(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyObjectResultDetails& WithChecksumSHA256(const char* value) { SetChecksumSHA256(value); return *this;} + private: Aws::String m_eTag; - bool m_eTagHasBeenSet; + bool m_eTagHasBeenSet = false; Aws::Utils::DateTime m_lastModified; - bool m_lastModifiedHasBeenSet; + bool m_lastModifiedHasBeenSet = false; + + Aws::String m_checksumCRC32; + bool m_checksumCRC32HasBeenSet = false; + + Aws::String m_checksumCRC32C; + bool m_checksumCRC32CHasBeenSet = false; + + Aws::String m_checksumSHA1; + bool m_checksumSHA1HasBeenSet = false; + + Aws::String m_checksumSHA256; + bool m_checksumSHA256HasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyPartResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyPartResult.h index d744384ae2..ae26dbcc0c 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyPartResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyPartResult.h @@ -28,14 +28,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyPartResult">AWS * API Reference</a></p> */ - class AWS_S3_API CopyPartResult + class CopyPartResult { public: - CopyPartResult(); - CopyPartResult(const Aws::Utils::Xml::XmlNode& xmlNode); - CopyPartResult& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API CopyPartResult(); + AWS_S3_API CopyPartResult(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API CopyPartResult& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -109,13 +109,349 @@ namespace Model */ inline CopyPartResult& WithLastModified(Aws::Utils::DateTime&& value) { SetLastModified(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32() const{ return m_checksumCRC32; } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumCRC32HasBeenSet() const { return m_checksumCRC32HasBeenSet; } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const Aws::String& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = value; } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(Aws::String&& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = std::move(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const char* value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32.assign(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyPartResult& WithChecksumCRC32(const Aws::String& value) { SetChecksumCRC32(value); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyPartResult& WithChecksumCRC32(Aws::String&& value) { SetChecksumCRC32(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyPartResult& WithChecksumCRC32(const char* value) { SetChecksumCRC32(value); return *this;} + + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32C() const{ return m_checksumCRC32C; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumCRC32CHasBeenSet() const { return m_checksumCRC32CHasBeenSet; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const Aws::String& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = value; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(Aws::String&& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = std::move(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const char* value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C.assign(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyPartResult& WithChecksumCRC32C(const Aws::String& value) { SetChecksumCRC32C(value); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyPartResult& WithChecksumCRC32C(Aws::String&& value) { SetChecksumCRC32C(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyPartResult& WithChecksumCRC32C(const char* value) { SetChecksumCRC32C(value); return *this;} + + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA1() const{ return m_checksumSHA1; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumSHA1HasBeenSet() const { return m_checksumSHA1HasBeenSet; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const Aws::String& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = value; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(Aws::String&& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = std::move(value); } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const char* value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1.assign(value); } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyPartResult& WithChecksumSHA1(const Aws::String& value) { SetChecksumSHA1(value); return *this;} + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyPartResult& WithChecksumSHA1(Aws::String&& value) { SetChecksumSHA1(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyPartResult& WithChecksumSHA1(const char* value) { SetChecksumSHA1(value); return *this;} + + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA256() const{ return m_checksumSHA256; } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumSHA256HasBeenSet() const { return m_checksumSHA256HasBeenSet; } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const Aws::String& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = value; } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(Aws::String&& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = std::move(value); } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const char* value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256.assign(value); } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyPartResult& WithChecksumSHA256(const Aws::String& value) { SetChecksumSHA256(value); return *this;} + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyPartResult& WithChecksumSHA256(Aws::String&& value) { SetChecksumSHA256(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CopyPartResult& WithChecksumSHA256(const char* value) { SetChecksumSHA256(value); return *this;} + private: Aws::String m_eTag; - bool m_eTagHasBeenSet; + bool m_eTagHasBeenSet = false; Aws::Utils::DateTime m_lastModified; - bool m_lastModifiedHasBeenSet; + bool m_lastModifiedHasBeenSet = false; + + Aws::String m_checksumCRC32; + bool m_checksumCRC32HasBeenSet = false; + + Aws::String m_checksumCRC32C; + bool m_checksumCRC32CHasBeenSet = false; + + Aws::String m_checksumSHA1; + bool m_checksumSHA1HasBeenSet = false; + + Aws::String m_checksumSHA256; + bool m_checksumSHA256HasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketConfiguration.h index b43d6ea94f..79e82bada5 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketConfiguration.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketConfiguration.h @@ -27,14 +27,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketConfiguration">AWS * API Reference</a></p> */ - class AWS_S3_API CreateBucketConfiguration + class CreateBucketConfiguration { public: - CreateBucketConfiguration(); - CreateBucketConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); - CreateBucketConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API CreateBucketConfiguration(); + AWS_S3_API CreateBucketConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API CreateBucketConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -82,7 +82,7 @@ namespace Model private: BucketLocationConstraint m_locationConstraint; - bool m_locationConstraintHasBeenSet; + bool m_locationConstraintHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketRequest.h index ab18fd2bb7..1193b557b9 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketRequest.h @@ -9,6 +9,7 @@ #include <aws/s3/model/BucketCannedACL.h> #include <aws/core/utils/memory/stl/AWSString.h> #include <aws/s3/model/CreateBucketConfiguration.h> +#include <aws/s3/model/ObjectOwnership.h> #include <aws/core/utils/memory/stl/AWSMap.h> #include <utility> @@ -25,10 +26,10 @@ namespace Model /** */ - class AWS_S3_API CreateBucketRequest : public S3Request + class CreateBucketRequest : public S3Request { public: - CreateBucketRequest(); + AWS_S3_API CreateBucketRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -36,12 +37,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateBucket"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The canned ACL to apply to the bucket.</p> @@ -278,42 +283,58 @@ namespace Model /** - * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and + * object owners of existing objects, also allows deletions and overwrites of those + * objects.</p> */ inline const Aws::String& GetGrantWrite() const{ return m_grantWrite; } /** - * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and + * object owners of existing objects, also allows deletions and overwrites of those + * objects.</p> */ inline bool GrantWriteHasBeenSet() const { return m_grantWriteHasBeenSet; } /** - * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and + * object owners of existing objects, also allows deletions and overwrites of those + * objects.</p> */ inline void SetGrantWrite(const Aws::String& value) { m_grantWriteHasBeenSet = true; m_grantWrite = value; } /** - * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and + * object owners of existing objects, also allows deletions and overwrites of those + * objects.</p> */ inline void SetGrantWrite(Aws::String&& value) { m_grantWriteHasBeenSet = true; m_grantWrite = std::move(value); } /** - * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and + * object owners of existing objects, also allows deletions and overwrites of those + * objects.</p> */ inline void SetGrantWrite(const char* value) { m_grantWriteHasBeenSet = true; m_grantWrite.assign(value); } /** - * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and + * object owners of existing objects, also allows deletions and overwrites of those + * objects.</p> */ inline CreateBucketRequest& WithGrantWrite(const Aws::String& value) { SetGrantWrite(value); return *this;} /** - * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and + * object owners of existing objects, also allows deletions and overwrites of those + * objects.</p> */ inline CreateBucketRequest& WithGrantWrite(Aws::String&& value) { SetGrantWrite(std::move(value)); return *this;} /** - * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and + * object owners of existing objects, also allows deletions and overwrites of those + * objects.</p> */ inline CreateBucketRequest& WithGrantWrite(const char* value) { SetGrantWrite(value); return *this;} @@ -385,6 +406,25 @@ namespace Model + inline const ObjectOwnership& GetObjectOwnership() const{ return m_objectOwnership; } + + + inline bool ObjectOwnershipHasBeenSet() const { return m_objectOwnershipHasBeenSet; } + + + inline void SetObjectOwnership(const ObjectOwnership& value) { m_objectOwnershipHasBeenSet = true; m_objectOwnership = value; } + + + inline void SetObjectOwnership(ObjectOwnership&& value) { m_objectOwnershipHasBeenSet = true; m_objectOwnership = std::move(value); } + + + inline CreateBucketRequest& WithObjectOwnership(const ObjectOwnership& value) { SetObjectOwnership(value); return *this;} + + + inline CreateBucketRequest& WithObjectOwnership(ObjectOwnership&& value) { SetObjectOwnership(std::move(value)); return *this;} + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } @@ -426,34 +466,37 @@ namespace Model private: BucketCannedACL m_aCL; - bool m_aCLHasBeenSet; + bool m_aCLHasBeenSet = false; Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; CreateBucketConfiguration m_createBucketConfiguration; - bool m_createBucketConfigurationHasBeenSet; + bool m_createBucketConfigurationHasBeenSet = false; Aws::String m_grantFullControl; - bool m_grantFullControlHasBeenSet; + bool m_grantFullControlHasBeenSet = false; Aws::String m_grantRead; - bool m_grantReadHasBeenSet; + bool m_grantReadHasBeenSet = false; Aws::String m_grantReadACP; - bool m_grantReadACPHasBeenSet; + bool m_grantReadACPHasBeenSet = false; Aws::String m_grantWrite; - bool m_grantWriteHasBeenSet; + bool m_grantWriteHasBeenSet = false; Aws::String m_grantWriteACP; - bool m_grantWriteACPHasBeenSet; + bool m_grantWriteACPHasBeenSet = false; bool m_objectLockEnabledForBucket; - bool m_objectLockEnabledForBucketHasBeenSet; + bool m_objectLockEnabledForBucketHasBeenSet = false; + + ObjectOwnership m_objectOwnership; + bool m_objectOwnershipHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketResult.h index fb29599179..e5ec901a87 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketResult.h @@ -24,60 +24,46 @@ namespace S3 { namespace Model { - class AWS_S3_API CreateBucketResult + class CreateBucketResult { public: - CreateBucketResult(); - CreateBucketResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - CreateBucketResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API CreateBucketResult(); + AWS_S3_API CreateBucketResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API CreateBucketResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** - * <p>Specifies the Region where the bucket will be created. If you are creating a - * bucket on the US East (N. Virginia) Region (us-east-1), you do not need to - * specify the location.</p> + * <p>A forward slash followed by the name of the bucket.</p> */ inline const Aws::String& GetLocation() const{ return m_location; } /** - * <p>Specifies the Region where the bucket will be created. If you are creating a - * bucket on the US East (N. Virginia) Region (us-east-1), you do not need to - * specify the location.</p> + * <p>A forward slash followed by the name of the bucket.</p> */ inline void SetLocation(const Aws::String& value) { m_location = value; } /** - * <p>Specifies the Region where the bucket will be created. If you are creating a - * bucket on the US East (N. Virginia) Region (us-east-1), you do not need to - * specify the location.</p> + * <p>A forward slash followed by the name of the bucket.</p> */ inline void SetLocation(Aws::String&& value) { m_location = std::move(value); } /** - * <p>Specifies the Region where the bucket will be created. If you are creating a - * bucket on the US East (N. Virginia) Region (us-east-1), you do not need to - * specify the location.</p> + * <p>A forward slash followed by the name of the bucket.</p> */ inline void SetLocation(const char* value) { m_location.assign(value); } /** - * <p>Specifies the Region where the bucket will be created. If you are creating a - * bucket on the US East (N. Virginia) Region (us-east-1), you do not need to - * specify the location.</p> + * <p>A forward slash followed by the name of the bucket.</p> */ inline CreateBucketResult& WithLocation(const Aws::String& value) { SetLocation(value); return *this;} /** - * <p>Specifies the Region where the bucket will be created. If you are creating a - * bucket on the US East (N. Virginia) Region (us-east-1), you do not need to - * specify the location.</p> + * <p>A forward slash followed by the name of the bucket.</p> */ inline CreateBucketResult& WithLocation(Aws::String&& value) { SetLocation(std::move(value)); return *this;} /** - * <p>Specifies the Region where the bucket will be created. If you are creating a - * bucket on the US East (N. Virginia) Region (us-east-1), you do not need to - * specify the location.</p> + * <p>A forward slash followed by the name of the bucket.</p> */ inline CreateBucketResult& WithLocation(const char* value) { SetLocation(value); return *this;} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateMultipartUploadRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateMultipartUploadRequest.h index aafe4dc650..7d4e60b1c9 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateMultipartUploadRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateMultipartUploadRequest.h @@ -15,6 +15,7 @@ #include <aws/s3/model/RequestPayer.h> #include <aws/s3/model/ObjectLockMode.h> #include <aws/s3/model/ObjectLockLegalHoldStatus.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <utility> namespace Aws @@ -30,10 +31,10 @@ namespace Model /** */ - class AWS_S3_API CreateMultipartUploadRequest : public S3Request + class CreateMultipartUploadRequest : public S3Request { public: - CreateMultipartUploadRequest(); + AWS_S3_API CreateMultipartUploadRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -41,12 +42,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateMultipartUpload"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The canned ACL to apply to the object.</p> <p>This action is not supported by @@ -90,19 +95,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } @@ -111,19 +116,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } @@ -132,19 +137,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } @@ -153,19 +158,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } @@ -174,19 +179,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } @@ -195,19 +200,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline CreateMultipartUploadRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} @@ -216,19 +221,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline CreateMultipartUploadRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} @@ -237,19 +242,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline CreateMultipartUploadRequest& WithBucket(const char* value) { SetBucket(value); return *this;} @@ -853,7 +858,7 @@ namespace Model * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For * more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage - * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + * Classes</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const StorageClass& GetStorageClass() const{ return m_storageClass; } @@ -864,7 +869,7 @@ namespace Model * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For * more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage - * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + * Classes</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; } @@ -875,7 +880,7 @@ namespace Model * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For * more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage - * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + * Classes</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetStorageClass(const StorageClass& value) { m_storageClassHasBeenSet = true; m_storageClass = value; } @@ -886,7 +891,7 @@ namespace Model * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For * more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage - * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + * Classes</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetStorageClass(StorageClass&& value) { m_storageClassHasBeenSet = true; m_storageClass = std::move(value); } @@ -897,7 +902,7 @@ namespace Model * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For * more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage - * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + * Classes</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline CreateMultipartUploadRequest& WithStorageClass(const StorageClass& value) { SetStorageClass(value); return *this;} @@ -908,7 +913,7 @@ namespace Model * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For * more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage - * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + * Classes</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline CreateMultipartUploadRequest& WithStorageClass(StorageClass&& value) { SetStorageClass(std::move(value)); return *this;} @@ -1150,147 +1155,155 @@ namespace Model /** - * <p>Specifies the ID of the symmetric customer managed AWS KMS CMK to use for - * object encryption. All GET and PUT requests for an object protected by AWS KMS - * will fail if not made via SSL or using SigV4. For information about configuring - * using any of the officially supported AWS SDKs and AWS CLI, see <a + * <p>Specifies the ID of the symmetric customer managed key to use for object + * encryption. All GET and PUT requests for an object protected by Amazon Web + * Services KMS will fail if not made via SSL or using SigV4. For information about + * configuring using any of the officially supported Amazon Web Services SDKs and + * Amazon Web Services CLI, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying - * the Signature Version in Request Authentication</a> in the <i>Amazon S3 - * Developer Guide</i>.</p> + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 User + * Guide</i>.</p> */ inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } /** - * <p>Specifies the ID of the symmetric customer managed AWS KMS CMK to use for - * object encryption. All GET and PUT requests for an object protected by AWS KMS - * will fail if not made via SSL or using SigV4. For information about configuring - * using any of the officially supported AWS SDKs and AWS CLI, see <a + * <p>Specifies the ID of the symmetric customer managed key to use for object + * encryption. All GET and PUT requests for an object protected by Amazon Web + * Services KMS will fail if not made via SSL or using SigV4. For information about + * configuring using any of the officially supported Amazon Web Services SDKs and + * Amazon Web Services CLI, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying - * the Signature Version in Request Authentication</a> in the <i>Amazon S3 - * Developer Guide</i>.</p> + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 User + * Guide</i>.</p> */ inline bool SSEKMSKeyIdHasBeenSet() const { return m_sSEKMSKeyIdHasBeenSet; } /** - * <p>Specifies the ID of the symmetric customer managed AWS KMS CMK to use for - * object encryption. All GET and PUT requests for an object protected by AWS KMS - * will fail if not made via SSL or using SigV4. For information about configuring - * using any of the officially supported AWS SDKs and AWS CLI, see <a + * <p>Specifies the ID of the symmetric customer managed key to use for object + * encryption. All GET and PUT requests for an object protected by Amazon Web + * Services KMS will fail if not made via SSL or using SigV4. For information about + * configuring using any of the officially supported Amazon Web Services SDKs and + * Amazon Web Services CLI, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying - * the Signature Version in Request Authentication</a> in the <i>Amazon S3 - * Developer Guide</i>.</p> + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 User + * Guide</i>.</p> */ inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId = value; } /** - * <p>Specifies the ID of the symmetric customer managed AWS KMS CMK to use for - * object encryption. All GET and PUT requests for an object protected by AWS KMS - * will fail if not made via SSL or using SigV4. For information about configuring - * using any of the officially supported AWS SDKs and AWS CLI, see <a + * <p>Specifies the ID of the symmetric customer managed key to use for object + * encryption. All GET and PUT requests for an object protected by Amazon Web + * Services KMS will fail if not made via SSL or using SigV4. For information about + * configuring using any of the officially supported Amazon Web Services SDKs and + * Amazon Web Services CLI, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying - * the Signature Version in Request Authentication</a> in the <i>Amazon S3 - * Developer Guide</i>.</p> + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 User + * Guide</i>.</p> */ inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId = std::move(value); } /** - * <p>Specifies the ID of the symmetric customer managed AWS KMS CMK to use for - * object encryption. All GET and PUT requests for an object protected by AWS KMS - * will fail if not made via SSL or using SigV4. For information about configuring - * using any of the officially supported AWS SDKs and AWS CLI, see <a + * <p>Specifies the ID of the symmetric customer managed key to use for object + * encryption. All GET and PUT requests for an object protected by Amazon Web + * Services KMS will fail if not made via SSL or using SigV4. For information about + * configuring using any of the officially supported Amazon Web Services SDKs and + * Amazon Web Services CLI, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying - * the Signature Version in Request Authentication</a> in the <i>Amazon S3 - * Developer Guide</i>.</p> + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 User + * Guide</i>.</p> */ inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId.assign(value); } /** - * <p>Specifies the ID of the symmetric customer managed AWS KMS CMK to use for - * object encryption. All GET and PUT requests for an object protected by AWS KMS - * will fail if not made via SSL or using SigV4. For information about configuring - * using any of the officially supported AWS SDKs and AWS CLI, see <a + * <p>Specifies the ID of the symmetric customer managed key to use for object + * encryption. All GET and PUT requests for an object protected by Amazon Web + * Services KMS will fail if not made via SSL or using SigV4. For information about + * configuring using any of the officially supported Amazon Web Services SDKs and + * Amazon Web Services CLI, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying - * the Signature Version in Request Authentication</a> in the <i>Amazon S3 - * Developer Guide</i>.</p> + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 User + * Guide</i>.</p> */ inline CreateMultipartUploadRequest& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} /** - * <p>Specifies the ID of the symmetric customer managed AWS KMS CMK to use for - * object encryption. All GET and PUT requests for an object protected by AWS KMS - * will fail if not made via SSL or using SigV4. For information about configuring - * using any of the officially supported AWS SDKs and AWS CLI, see <a + * <p>Specifies the ID of the symmetric customer managed key to use for object + * encryption. All GET and PUT requests for an object protected by Amazon Web + * Services KMS will fail if not made via SSL or using SigV4. For information about + * configuring using any of the officially supported Amazon Web Services SDKs and + * Amazon Web Services CLI, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying - * the Signature Version in Request Authentication</a> in the <i>Amazon S3 - * Developer Guide</i>.</p> + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 User + * Guide</i>.</p> */ inline CreateMultipartUploadRequest& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} /** - * <p>Specifies the ID of the symmetric customer managed AWS KMS CMK to use for - * object encryption. All GET and PUT requests for an object protected by AWS KMS - * will fail if not made via SSL or using SigV4. For information about configuring - * using any of the officially supported AWS SDKs and AWS CLI, see <a + * <p>Specifies the ID of the symmetric customer managed key to use for object + * encryption. All GET and PUT requests for an object protected by Amazon Web + * Services KMS will fail if not made via SSL or using SigV4. For information about + * configuring using any of the officially supported Amazon Web Services SDKs and + * Amazon Web Services CLI, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying - * the Signature Version in Request Authentication</a> in the <i>Amazon S3 - * Developer Guide</i>.</p> + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 User + * Guide</i>.</p> */ inline CreateMultipartUploadRequest& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} /** - * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The - * value of this header is a base64-encoded UTF-8 string holding JSON with the - * encryption context key-value pairs.</p> + * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> */ inline const Aws::String& GetSSEKMSEncryptionContext() const{ return m_sSEKMSEncryptionContext; } /** - * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The - * value of this header is a base64-encoded UTF-8 string holding JSON with the - * encryption context key-value pairs.</p> + * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> */ inline bool SSEKMSEncryptionContextHasBeenSet() const { return m_sSEKMSEncryptionContextHasBeenSet; } /** - * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The - * value of this header is a base64-encoded UTF-8 string holding JSON with the - * encryption context key-value pairs.</p> + * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> */ inline void SetSSEKMSEncryptionContext(const Aws::String& value) { m_sSEKMSEncryptionContextHasBeenSet = true; m_sSEKMSEncryptionContext = value; } /** - * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The - * value of this header is a base64-encoded UTF-8 string holding JSON with the - * encryption context key-value pairs.</p> + * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> */ inline void SetSSEKMSEncryptionContext(Aws::String&& value) { m_sSEKMSEncryptionContextHasBeenSet = true; m_sSEKMSEncryptionContext = std::move(value); } /** - * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The - * value of this header is a base64-encoded UTF-8 string holding JSON with the - * encryption context key-value pairs.</p> + * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> */ inline void SetSSEKMSEncryptionContext(const char* value) { m_sSEKMSEncryptionContextHasBeenSet = true; m_sSEKMSEncryptionContext.assign(value); } /** - * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The - * value of this header is a base64-encoded UTF-8 string holding JSON with the - * encryption context key-value pairs.</p> + * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> */ inline CreateMultipartUploadRequest& WithSSEKMSEncryptionContext(const Aws::String& value) { SetSSEKMSEncryptionContext(value); return *this;} /** - * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The - * value of this header is a base64-encoded UTF-8 string holding JSON with the - * encryption context key-value pairs.</p> + * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> */ inline CreateMultipartUploadRequest& WithSSEKMSEncryptionContext(Aws::String&& value) { SetSSEKMSEncryptionContext(std::move(value)); return *this;} /** - * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The - * value of this header is a base64-encoded UTF-8 string holding JSON with the - * encryption context key-value pairs.</p> + * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> */ inline CreateMultipartUploadRequest& WithSSEKMSEncryptionContext(const char* value) { SetSSEKMSEncryptionContext(value); return *this;} @@ -1469,93 +1482,142 @@ namespace Model /** - * <p>Specifies whether you want to apply a Legal Hold to the uploaded object.</p> + * <p>Specifies whether you want to apply a legal hold to the uploaded object.</p> */ inline const ObjectLockLegalHoldStatus& GetObjectLockLegalHoldStatus() const{ return m_objectLockLegalHoldStatus; } /** - * <p>Specifies whether you want to apply a Legal Hold to the uploaded object.</p> + * <p>Specifies whether you want to apply a legal hold to the uploaded object.</p> */ inline bool ObjectLockLegalHoldStatusHasBeenSet() const { return m_objectLockLegalHoldStatusHasBeenSet; } /** - * <p>Specifies whether you want to apply a Legal Hold to the uploaded object.</p> + * <p>Specifies whether you want to apply a legal hold to the uploaded object.</p> */ inline void SetObjectLockLegalHoldStatus(const ObjectLockLegalHoldStatus& value) { m_objectLockLegalHoldStatusHasBeenSet = true; m_objectLockLegalHoldStatus = value; } /** - * <p>Specifies whether you want to apply a Legal Hold to the uploaded object.</p> + * <p>Specifies whether you want to apply a legal hold to the uploaded object.</p> */ inline void SetObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus&& value) { m_objectLockLegalHoldStatusHasBeenSet = true; m_objectLockLegalHoldStatus = std::move(value); } /** - * <p>Specifies whether you want to apply a Legal Hold to the uploaded object.</p> + * <p>Specifies whether you want to apply a legal hold to the uploaded object.</p> */ inline CreateMultipartUploadRequest& WithObjectLockLegalHoldStatus(const ObjectLockLegalHoldStatus& value) { SetObjectLockLegalHoldStatus(value); return *this;} /** - * <p>Specifies whether you want to apply a Legal Hold to the uploaded object.</p> + * <p>Specifies whether you want to apply a legal hold to the uploaded object.</p> */ inline CreateMultipartUploadRequest& WithObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus&& value) { SetObjectLockLegalHoldStatus(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline CreateMultipartUploadRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline CreateMultipartUploadRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline CreateMultipartUploadRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + /** + * <p>Indicates the algorithm you want Amazon S3 to use to create the checksum for + * the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>Indicates the algorithm you want Amazon S3 to use to create the checksum for + * the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>Indicates the algorithm you want Amazon S3 to use to create the checksum for + * the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>Indicates the algorithm you want Amazon S3 to use to create the checksum for + * the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>Indicates the algorithm you want Amazon S3 to use to create the checksum for + * the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CreateMultipartUploadRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>Indicates the algorithm you want Amazon S3 to use to create the checksum for + * the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline CreateMultipartUploadRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } @@ -1598,94 +1660,97 @@ namespace Model private: ObjectCannedACL m_aCL; - bool m_aCLHasBeenSet; + bool m_aCLHasBeenSet = false; Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_cacheControl; - bool m_cacheControlHasBeenSet; + bool m_cacheControlHasBeenSet = false; Aws::String m_contentDisposition; - bool m_contentDispositionHasBeenSet; + bool m_contentDispositionHasBeenSet = false; Aws::String m_contentEncoding; - bool m_contentEncodingHasBeenSet; + bool m_contentEncodingHasBeenSet = false; Aws::String m_contentLanguage; - bool m_contentLanguageHasBeenSet; + bool m_contentLanguageHasBeenSet = false; Aws::String m_contentType; - bool m_contentTypeHasBeenSet; + bool m_contentTypeHasBeenSet = false; Aws::Utils::DateTime m_expires; - bool m_expiresHasBeenSet; + bool m_expiresHasBeenSet = false; Aws::String m_grantFullControl; - bool m_grantFullControlHasBeenSet; + bool m_grantFullControlHasBeenSet = false; Aws::String m_grantRead; - bool m_grantReadHasBeenSet; + bool m_grantReadHasBeenSet = false; Aws::String m_grantReadACP; - bool m_grantReadACPHasBeenSet; + bool m_grantReadACPHasBeenSet = false; Aws::String m_grantWriteACP; - bool m_grantWriteACPHasBeenSet; + bool m_grantWriteACPHasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_metadata; - bool m_metadataHasBeenSet; + bool m_metadataHasBeenSet = false; ServerSideEncryption m_serverSideEncryption; - bool m_serverSideEncryptionHasBeenSet; + bool m_serverSideEncryptionHasBeenSet = false; StorageClass m_storageClass; - bool m_storageClassHasBeenSet; + bool m_storageClassHasBeenSet = false; Aws::String m_websiteRedirectLocation; - bool m_websiteRedirectLocationHasBeenSet; + bool m_websiteRedirectLocationHasBeenSet = false; Aws::String m_sSECustomerAlgorithm; - bool m_sSECustomerAlgorithmHasBeenSet; + bool m_sSECustomerAlgorithmHasBeenSet = false; Aws::String m_sSECustomerKey; - bool m_sSECustomerKeyHasBeenSet; + bool m_sSECustomerKeyHasBeenSet = false; Aws::String m_sSECustomerKeyMD5; - bool m_sSECustomerKeyMD5HasBeenSet; + bool m_sSECustomerKeyMD5HasBeenSet = false; Aws::String m_sSEKMSKeyId; - bool m_sSEKMSKeyIdHasBeenSet; + bool m_sSEKMSKeyIdHasBeenSet = false; Aws::String m_sSEKMSEncryptionContext; - bool m_sSEKMSEncryptionContextHasBeenSet; + bool m_sSEKMSEncryptionContextHasBeenSet = false; bool m_bucketKeyEnabled; - bool m_bucketKeyEnabledHasBeenSet; + bool m_bucketKeyEnabledHasBeenSet = false; RequestPayer m_requestPayer; - bool m_requestPayerHasBeenSet; + bool m_requestPayerHasBeenSet = false; Aws::String m_tagging; - bool m_taggingHasBeenSet; + bool m_taggingHasBeenSet = false; ObjectLockMode m_objectLockMode; - bool m_objectLockModeHasBeenSet; + bool m_objectLockModeHasBeenSet = false; Aws::Utils::DateTime m_objectLockRetainUntilDate; - bool m_objectLockRetainUntilDateHasBeenSet; + bool m_objectLockRetainUntilDateHasBeenSet = false; ObjectLockLegalHoldStatus m_objectLockLegalHoldStatus; - bool m_objectLockLegalHoldStatusHasBeenSet; + bool m_objectLockLegalHoldStatusHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; + + ChecksumAlgorithm m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateMultipartUploadResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateMultipartUploadResult.h index 49f002f3b7..ccbb87c3d7 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateMultipartUploadResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateMultipartUploadResult.h @@ -9,6 +9,7 @@ #include <aws/core/utils/memory/stl/AWSString.h> #include <aws/s3/model/ServerSideEncryption.h> #include <aws/s3/model/RequestCharged.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <utility> namespace Aws @@ -27,12 +28,12 @@ namespace S3 { namespace Model { - class AWS_S3_API CreateMultipartUploadResult + class CreateMultipartUploadResult { public: - CreateMultipartUploadResult(); - CreateMultipartUploadResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - CreateMultipartUploadResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API CreateMultipartUploadResult(); + AWS_S3_API CreateMultipartUploadResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API CreateMultipartUploadResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** @@ -157,149 +158,156 @@ namespace Model /** - * <p>The name of the bucket to which the multipart upload was initiated. </p> - * <p>When using this action with an access point, you must direct requests to the - * access point hostname. The access point hostname takes the form + * <p>The name of the bucket to which the multipart upload was initiated. Does not + * return the access point ARN or access point alias if used.</p> <p>When using + * this action with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } /** - * <p>The name of the bucket to which the multipart upload was initiated. </p> - * <p>When using this action with an access point, you must direct requests to the - * access point hostname. The access point hostname takes the form + * <p>The name of the bucket to which the multipart upload was initiated. Does not + * return the access point ARN or access point alias if used.</p> <p>When using + * this action with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucket = value; } /** - * <p>The name of the bucket to which the multipart upload was initiated. </p> - * <p>When using this action with an access point, you must direct requests to the - * access point hostname. The access point hostname takes the form + * <p>The name of the bucket to which the multipart upload was initiated. Does not + * return the access point ARN or access point alias if used.</p> <p>When using + * this action with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucket = std::move(value); } /** - * <p>The name of the bucket to which the multipart upload was initiated. </p> - * <p>When using this action with an access point, you must direct requests to the - * access point hostname. The access point hostname takes the form + * <p>The name of the bucket to which the multipart upload was initiated. Does not + * return the access point ARN or access point alias if used.</p> <p>When using + * this action with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucket.assign(value); } /** - * <p>The name of the bucket to which the multipart upload was initiated. </p> - * <p>When using this action with an access point, you must direct requests to the - * access point hostname. The access point hostname takes the form + * <p>The name of the bucket to which the multipart upload was initiated. Does not + * return the access point ARN or access point alias if used.</p> <p>When using + * this action with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline CreateMultipartUploadResult& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} /** - * <p>The name of the bucket to which the multipart upload was initiated. </p> - * <p>When using this action with an access point, you must direct requests to the - * access point hostname. The access point hostname takes the form + * <p>The name of the bucket to which the multipart upload was initiated. Does not + * return the access point ARN or access point alias if used.</p> <p>When using + * this action with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline CreateMultipartUploadResult& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} /** - * <p>The name of the bucket to which the multipart upload was initiated. </p> - * <p>When using this action with an access point, you must direct requests to the - * access point hostname. The access point hostname takes the form + * <p>The name of the bucket to which the multipart upload was initiated. Does not + * return the access point ARN or access point alias if used.</p> <p>When using + * this action with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline CreateMultipartUploadResult& WithBucket(const char* value) { SetBucket(value); return *this;} @@ -508,120 +516,120 @@ namespace Model /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyId = value; } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyId = std::move(value); } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyId.assign(value); } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline CreateMultipartUploadResult& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline CreateMultipartUploadResult& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline CreateMultipartUploadResult& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} /** - * <p>If present, specifies the AWS KMS Encryption Context to use for object - * encryption. The value of this header is a base64-encoded UTF-8 string holding - * JSON with the encryption context key-value pairs.</p> + * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use + * for object encryption. The value of this header is a base64-encoded UTF-8 string + * holding JSON with the encryption context key-value pairs.</p> */ inline const Aws::String& GetSSEKMSEncryptionContext() const{ return m_sSEKMSEncryptionContext; } /** - * <p>If present, specifies the AWS KMS Encryption Context to use for object - * encryption. The value of this header is a base64-encoded UTF-8 string holding - * JSON with the encryption context key-value pairs.</p> + * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use + * for object encryption. The value of this header is a base64-encoded UTF-8 string + * holding JSON with the encryption context key-value pairs.</p> */ inline void SetSSEKMSEncryptionContext(const Aws::String& value) { m_sSEKMSEncryptionContext = value; } /** - * <p>If present, specifies the AWS KMS Encryption Context to use for object - * encryption. The value of this header is a base64-encoded UTF-8 string holding - * JSON with the encryption context key-value pairs.</p> + * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use + * for object encryption. The value of this header is a base64-encoded UTF-8 string + * holding JSON with the encryption context key-value pairs.</p> */ inline void SetSSEKMSEncryptionContext(Aws::String&& value) { m_sSEKMSEncryptionContext = std::move(value); } /** - * <p>If present, specifies the AWS KMS Encryption Context to use for object - * encryption. The value of this header is a base64-encoded UTF-8 string holding - * JSON with the encryption context key-value pairs.</p> + * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use + * for object encryption. The value of this header is a base64-encoded UTF-8 string + * holding JSON with the encryption context key-value pairs.</p> */ inline void SetSSEKMSEncryptionContext(const char* value) { m_sSEKMSEncryptionContext.assign(value); } /** - * <p>If present, specifies the AWS KMS Encryption Context to use for object - * encryption. The value of this header is a base64-encoded UTF-8 string holding - * JSON with the encryption context key-value pairs.</p> + * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use + * for object encryption. The value of this header is a base64-encoded UTF-8 string + * holding JSON with the encryption context key-value pairs.</p> */ inline CreateMultipartUploadResult& WithSSEKMSEncryptionContext(const Aws::String& value) { SetSSEKMSEncryptionContext(value); return *this;} /** - * <p>If present, specifies the AWS KMS Encryption Context to use for object - * encryption. The value of this header is a base64-encoded UTF-8 string holding - * JSON with the encryption context key-value pairs.</p> + * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use + * for object encryption. The value of this header is a base64-encoded UTF-8 string + * holding JSON with the encryption context key-value pairs.</p> */ inline CreateMultipartUploadResult& WithSSEKMSEncryptionContext(Aws::String&& value) { SetSSEKMSEncryptionContext(std::move(value)); return *this;} /** - * <p>If present, specifies the AWS KMS Encryption Context to use for object - * encryption. The value of this header is a base64-encoded UTF-8 string holding - * JSON with the encryption context key-value pairs.</p> + * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use + * for object encryption. The value of this header is a base64-encoded UTF-8 string + * holding JSON with the encryption context key-value pairs.</p> */ inline CreateMultipartUploadResult& WithSSEKMSEncryptionContext(const char* value) { SetSSEKMSEncryptionContext(value); return *this;} /** * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side - * encryption with AWS KMS (SSE-KMS).</p> + * encryption with Amazon Web Services KMS (SSE-KMS).</p> */ inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } /** * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side - * encryption with AWS KMS (SSE-KMS).</p> + * encryption with Amazon Web Services KMS (SSE-KMS).</p> */ inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabled = value; } /** * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side - * encryption with AWS KMS (SSE-KMS).</p> + * encryption with Amazon Web Services KMS (SSE-KMS).</p> */ inline CreateMultipartUploadResult& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;} @@ -641,6 +649,32 @@ namespace Model inline CreateMultipartUploadResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithm = value; } + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithm = std::move(value); } + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline CreateMultipartUploadResult& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline CreateMultipartUploadResult& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + private: Aws::Utils::DateTime m_abortDate; @@ -666,6 +700,8 @@ namespace Model bool m_bucketKeyEnabled; RequestCharged m_requestCharged; + + ChecksumAlgorithm m_checksumAlgorithm; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DefaultRetention.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DefaultRetention.h index 582f90c903..5d33792991 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DefaultRetention.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DefaultRetention.h @@ -33,14 +33,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DefaultRetention">AWS * API Reference</a></p> */ - class AWS_S3_API DefaultRetention + class DefaultRetention { public: - DefaultRetention(); - DefaultRetention(const Aws::Utils::Xml::XmlNode& xmlNode); - DefaultRetention& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API DefaultRetention(); + AWS_S3_API DefaultRetention(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API DefaultRetention& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -138,13 +138,13 @@ namespace Model private: ObjectLockRetentionMode m_mode; - bool m_modeHasBeenSet; + bool m_modeHasBeenSet = false; int m_days; - bool m_daysHasBeenSet; + bool m_daysHasBeenSet = false; int m_years; - bool m_yearsHasBeenSet; + bool m_yearsHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Delete.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Delete.h index c40ac3062a..5ac4e7efaa 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Delete.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Delete.h @@ -28,14 +28,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Delete">AWS API * Reference</a></p> */ - class AWS_S3_API Delete + class Delete { public: - Delete(); - Delete(const Aws::Utils::Xml::XmlNode& xmlNode); - Delete& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Delete(); + AWS_S3_API Delete(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Delete& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -106,10 +106,10 @@ namespace Model private: Aws::Vector<ObjectIdentifier> m_objects; - bool m_objectsHasBeenSet; + bool m_objectsHasBeenSet = false; bool m_quiet; - bool m_quietHasBeenSet; + bool m_quietHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketAnalyticsConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketAnalyticsConfigurationRequest.h index cfefbb8802..ff996ffa36 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketAnalyticsConfigurationRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketAnalyticsConfigurationRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API DeleteBucketAnalyticsConfigurationRequest : public S3Request + class DeleteBucketAnalyticsConfigurationRequest : public S3Request { public: - DeleteBucketAnalyticsConfigurationRequest(); + AWS_S3_API DeleteBucketAnalyticsConfigurationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketAnalyticsConfiguration"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket from which an analytics configuration is deleted.</p> @@ -125,57 +129,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketAnalyticsConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketAnalyticsConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketAnalyticsConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -222,16 +226,16 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_id; - bool m_idHasBeenSet; + bool m_idHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketCorsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketCorsRequest.h index e1199271c0..2f9fcc3582 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketCorsRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketCorsRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API DeleteBucketCorsRequest : public S3Request + class DeleteBucketCorsRequest : public S3Request { public: - DeleteBucketCorsRequest(); + AWS_S3_API DeleteBucketCorsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketCors"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>Specifies the bucket whose <code>cors</code> configuration is being @@ -92,57 +96,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketCorsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketCorsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketCorsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -189,13 +193,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketEncryptionRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketEncryptionRequest.h index 2ca332dccb..a52f6b3543 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketEncryptionRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketEncryptionRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API DeleteBucketEncryptionRequest : public S3Request + class DeleteBucketEncryptionRequest : public S3Request { public: - DeleteBucketEncryptionRequest(); + AWS_S3_API DeleteBucketEncryptionRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketEncryption"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket containing the server-side encryption configuration to @@ -92,57 +96,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketEncryptionRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketEncryptionRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketEncryptionRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -189,13 +193,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketIntelligentTieringConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketIntelligentTieringConfigurationRequest.h index 7beaad6ec9..a39e8cbdbb 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketIntelligentTieringConfigurationRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketIntelligentTieringConfigurationRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API DeleteBucketIntelligentTieringConfigurationRequest : public S3Request + class DeleteBucketIntelligentTieringConfigurationRequest : public S3Request { public: - DeleteBucketIntelligentTieringConfigurationRequest(); + AWS_S3_API DeleteBucketIntelligentTieringConfigurationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,10 +34,14 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketIntelligentTieringConfiguration"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the Amazon S3 bucket whose configuration you want to modify or @@ -171,13 +175,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_id; - bool m_idHasBeenSet; + bool m_idHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketInventoryConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketInventoryConfigurationRequest.h index 3cc56c6504..57a9477f97 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketInventoryConfigurationRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketInventoryConfigurationRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API DeleteBucketInventoryConfigurationRequest : public S3Request + class DeleteBucketInventoryConfigurationRequest : public S3Request { public: - DeleteBucketInventoryConfigurationRequest(); + AWS_S3_API DeleteBucketInventoryConfigurationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketInventoryConfiguration"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket containing the inventory configuration to delete.</p> @@ -125,57 +129,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketInventoryConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketInventoryConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketInventoryConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -222,16 +226,16 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_id; - bool m_idHasBeenSet; + bool m_idHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketLifecycleRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketLifecycleRequest.h index c69d339d6b..a330226759 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketLifecycleRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketLifecycleRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API DeleteBucketLifecycleRequest : public S3Request + class DeleteBucketLifecycleRequest : public S3Request { public: - DeleteBucketLifecycleRequest(); + AWS_S3_API DeleteBucketLifecycleRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketLifecycle"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name of the lifecycle to delete.</p> @@ -84,57 +88,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketLifecycleRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketLifecycleRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketLifecycleRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -181,13 +185,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketMetricsConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketMetricsConfigurationRequest.h index ce8a0b333f..2203861b80 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketMetricsConfigurationRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketMetricsConfigurationRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API DeleteBucketMetricsConfigurationRequest : public S3Request + class DeleteBucketMetricsConfigurationRequest : public S3Request { public: - DeleteBucketMetricsConfigurationRequest(); + AWS_S3_API DeleteBucketMetricsConfigurationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketMetricsConfiguration"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket containing the metrics configuration to delete.</p> @@ -125,57 +129,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketMetricsConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketMetricsConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketMetricsConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -222,16 +226,16 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_id; - bool m_idHasBeenSet; + bool m_idHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketOwnershipControlsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketOwnershipControlsRequest.h index aab2947698..3aec542306 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketOwnershipControlsRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketOwnershipControlsRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API DeleteBucketOwnershipControlsRequest : public S3Request + class DeleteBucketOwnershipControlsRequest : public S3Request { public: - DeleteBucketOwnershipControlsRequest(); + AWS_S3_API DeleteBucketOwnershipControlsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketOwnershipControls"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The Amazon S3 bucket whose <code>OwnershipControls</code> you want to delete. @@ -92,57 +96,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketOwnershipControlsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketOwnershipControlsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketOwnershipControlsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -189,13 +193,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketPolicyRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketPolicyRequest.h index cde2a99893..804809a685 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketPolicyRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketPolicyRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API DeleteBucketPolicyRequest : public S3Request + class DeleteBucketPolicyRequest : public S3Request { public: - DeleteBucketPolicyRequest(); + AWS_S3_API DeleteBucketPolicyRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketPolicy"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name.</p> @@ -84,57 +88,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketPolicyRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketPolicyRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketPolicyRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -181,13 +185,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketReplicationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketReplicationRequest.h index 37c1fbe834..86aa475b92 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketReplicationRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketReplicationRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API DeleteBucketReplicationRequest : public S3Request + class DeleteBucketReplicationRequest : public S3Request { public: - DeleteBucketReplicationRequest(); + AWS_S3_API DeleteBucketReplicationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketReplication"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p> The bucket name. </p> @@ -84,57 +88,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketReplicationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketReplicationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketReplicationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -181,13 +185,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketRequest.h index e7daf51d74..1c7a39ed1e 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API DeleteBucketRequest : public S3Request + class DeleteBucketRequest : public S3Request { public: - DeleteBucketRequest(); + AWS_S3_API DeleteBucketRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "DeleteBucket"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>Specifies the bucket being deleted.</p> @@ -84,57 +88,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -181,13 +185,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketTaggingRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketTaggingRequest.h index 54355c04fc..b8fe28bc01 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketTaggingRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketTaggingRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API DeleteBucketTaggingRequest : public S3Request + class DeleteBucketTaggingRequest : public S3Request { public: - DeleteBucketTaggingRequest(); + AWS_S3_API DeleteBucketTaggingRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketTagging"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket that has the tag set to be removed.</p> @@ -84,57 +88,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketTaggingRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketTaggingRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketTaggingRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -181,13 +185,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketWebsiteRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketWebsiteRequest.h index c7ab0d9e40..1a51e2e024 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketWebsiteRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketWebsiteRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API DeleteBucketWebsiteRequest : public S3Request + class DeleteBucketWebsiteRequest : public S3Request { public: - DeleteBucketWebsiteRequest(); + AWS_S3_API DeleteBucketWebsiteRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketWebsite"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name for which you want to remove the website configuration. </p> @@ -84,57 +88,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketWebsiteRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketWebsiteRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteBucketWebsiteRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -181,13 +185,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteMarkerEntry.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteMarkerEntry.h index 60ee780db6..0e7a1a8746 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteMarkerEntry.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteMarkerEntry.h @@ -29,14 +29,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteMarkerEntry">AWS * API Reference</a></p> */ - class AWS_S3_API DeleteMarkerEntry + class DeleteMarkerEntry { public: - DeleteMarkerEntry(); - DeleteMarkerEntry(const Aws::Utils::Xml::XmlNode& xmlNode); - DeleteMarkerEntry& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API DeleteMarkerEntry(); + AWS_S3_API DeleteMarkerEntry(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API DeleteMarkerEntry& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -210,19 +210,19 @@ namespace Model private: Owner m_owner; - bool m_ownerHasBeenSet; + bool m_ownerHasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; Aws::String m_versionId; - bool m_versionIdHasBeenSet; + bool m_versionIdHasBeenSet = false; bool m_isLatest; - bool m_isLatestHasBeenSet; + bool m_isLatestHasBeenSet = false; Aws::Utils::DateTime m_lastModified; - bool m_lastModifiedHasBeenSet; + bool m_lastModifiedHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteMarkerReplication.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteMarkerReplication.h index fdaecb8346..a207b04eda 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteMarkerReplication.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteMarkerReplication.h @@ -42,14 +42,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteMarkerReplication">AWS * API Reference</a></p> */ - class AWS_S3_API DeleteMarkerReplication + class DeleteMarkerReplication { public: - DeleteMarkerReplication(); - DeleteMarkerReplication(const Aws::Utils::Xml::XmlNode& xmlNode); - DeleteMarkerReplication& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API DeleteMarkerReplication(); + AWS_S3_API DeleteMarkerReplication(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API DeleteMarkerReplication& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -91,7 +91,7 @@ namespace Model private: DeleteMarkerReplicationStatus m_status; - bool m_statusHasBeenSet; + bool m_statusHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectRequest.h index c340d287a8..4ca9bd0457 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectRequest.h @@ -24,10 +24,10 @@ namespace Model /** */ - class AWS_S3_API DeleteObjectRequest : public S3Request + class DeleteObjectRequest : public S3Request { public: - DeleteObjectRequest(); + AWS_S3_API DeleteObjectRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,31 +35,35 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "DeleteObject"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name of the bucket containing the object. </p> <p>When using this * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } @@ -68,19 +72,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } @@ -89,19 +93,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } @@ -110,19 +114,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } @@ -131,19 +135,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } @@ -152,19 +156,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline DeleteObjectRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} @@ -173,19 +177,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline DeleteObjectRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} @@ -194,19 +198,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline DeleteObjectRequest& WithBucket(const char* value) { SetBucket(value); return *this;} @@ -379,82 +383,86 @@ namespace Model /** * <p>Indicates whether S3 Object Lock should bypass Governance-mode restrictions - * to process this operation.</p> + * to process this operation. To use this header, you must have the + * <code>s3:BypassGovernanceRetention</code> permission.</p> */ inline bool GetBypassGovernanceRetention() const{ return m_bypassGovernanceRetention; } /** * <p>Indicates whether S3 Object Lock should bypass Governance-mode restrictions - * to process this operation.</p> + * to process this operation. To use this header, you must have the + * <code>s3:BypassGovernanceRetention</code> permission.</p> */ inline bool BypassGovernanceRetentionHasBeenSet() const { return m_bypassGovernanceRetentionHasBeenSet; } /** * <p>Indicates whether S3 Object Lock should bypass Governance-mode restrictions - * to process this operation.</p> + * to process this operation. To use this header, you must have the + * <code>s3:BypassGovernanceRetention</code> permission.</p> */ inline void SetBypassGovernanceRetention(bool value) { m_bypassGovernanceRetentionHasBeenSet = true; m_bypassGovernanceRetention = value; } /** * <p>Indicates whether S3 Object Lock should bypass Governance-mode restrictions - * to process this operation.</p> + * to process this operation. To use this header, you must have the + * <code>s3:BypassGovernanceRetention</code> permission.</p> */ inline DeleteObjectRequest& WithBypassGovernanceRetention(bool value) { SetBypassGovernanceRetention(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteObjectRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteObjectRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteObjectRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -501,28 +509,28 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; Aws::String m_mFA; - bool m_mFAHasBeenSet; + bool m_mFAHasBeenSet = false; Aws::String m_versionId; - bool m_versionIdHasBeenSet; + bool m_versionIdHasBeenSet = false; RequestPayer m_requestPayer; - bool m_requestPayerHasBeenSet; + bool m_requestPayerHasBeenSet = false; bool m_bypassGovernanceRetention; - bool m_bypassGovernanceRetentionHasBeenSet; + bool m_bypassGovernanceRetentionHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectResult.h index 15a886bf11..7b945ccea4 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectResult.h @@ -25,12 +25,12 @@ namespace S3 { namespace Model { - class AWS_S3_API DeleteObjectResult + class DeleteObjectResult { public: - DeleteObjectResult(); - DeleteObjectResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - DeleteObjectResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API DeleteObjectResult(); + AWS_S3_API DeleteObjectResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API DeleteObjectResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectTaggingRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectTaggingRequest.h index ad6286e1af..1f5181a071 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectTaggingRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectTaggingRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API DeleteObjectTaggingRequest : public S3Request + class DeleteObjectTaggingRequest : public S3Request { public: - DeleteObjectTaggingRequest(); + AWS_S3_API DeleteObjectTaggingRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,31 +34,35 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "DeleteObjectTagging"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name containing the objects from which to remove the tags. </p> * <p>When using this action with an access point, you must direct requests to the * access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } @@ -67,19 +71,19 @@ namespace Model * <p>When using this action with an access point, you must direct requests to the * access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } @@ -88,19 +92,19 @@ namespace Model * <p>When using this action with an access point, you must direct requests to the * access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } @@ -109,19 +113,19 @@ namespace Model * <p>When using this action with an access point, you must direct requests to the * access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } @@ -130,19 +134,19 @@ namespace Model * <p>When using this action with an access point, you must direct requests to the * access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } @@ -151,19 +155,19 @@ namespace Model * <p>When using this action with an access point, you must direct requests to the * access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline DeleteObjectTaggingRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} @@ -172,19 +176,19 @@ namespace Model * <p>When using this action with an access point, you must direct requests to the * access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline DeleteObjectTaggingRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} @@ -193,19 +197,19 @@ namespace Model * <p>When using this action with an access point, you must direct requests to the * access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline DeleteObjectTaggingRequest& WithBucket(const char* value) { SetBucket(value); return *this;} @@ -302,57 +306,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteObjectTaggingRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteObjectTaggingRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteObjectTaggingRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -399,19 +403,19 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; Aws::String m_versionId; - bool m_versionIdHasBeenSet; + bool m_versionIdHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectTaggingResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectTaggingResult.h index 103267f221..ac47534a93 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectTaggingResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectTaggingResult.h @@ -24,12 +24,12 @@ namespace S3 { namespace Model { - class AWS_S3_API DeleteObjectTaggingResult + class DeleteObjectTaggingResult { public: - DeleteObjectTaggingResult(); - DeleteObjectTaggingResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - DeleteObjectTaggingResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API DeleteObjectTaggingResult(); + AWS_S3_API DeleteObjectTaggingResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API DeleteObjectTaggingResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectsRequest.h index fcbe9218b6..e7c7c792fd 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectsRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectsRequest.h @@ -9,6 +9,7 @@ #include <aws/core/utils/memory/stl/AWSString.h> #include <aws/s3/model/Delete.h> #include <aws/s3/model/RequestPayer.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <aws/core/utils/memory/stl/AWSMap.h> #include <utility> @@ -25,10 +26,10 @@ namespace Model /** */ - class AWS_S3_API DeleteObjectsRequest : public S3Request + class DeleteObjectsRequest : public S3Request { public: - DeleteObjectsRequest(); + AWS_S3_API DeleteObjectsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -36,33 +37,37 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "DeleteObjects"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; - inline bool ShouldComputeContentMd5() const override { return true; } + AWS_S3_API Aws::String GetChecksumAlgorithmName() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name containing the objects to delete. </p> <p>When using this * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } @@ -71,19 +76,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } @@ -92,19 +97,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } @@ -113,19 +118,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } @@ -134,19 +139,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } @@ -155,19 +160,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline DeleteObjectsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} @@ -176,19 +181,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline DeleteObjectsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} @@ -197,19 +202,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline DeleteObjectsRequest& WithBucket(const char* value) { SetBucket(value); return *this;} @@ -331,90 +336,187 @@ namespace Model /** * <p>Specifies whether you want to delete this object even if it has a - * Governance-type Object Lock in place. You must have sufficient permissions to - * perform this operation.</p> + * Governance-type Object Lock in place. To use this header, you must have the + * <code>s3:BypassGovernanceRetention</code> permission.</p> */ inline bool GetBypassGovernanceRetention() const{ return m_bypassGovernanceRetention; } /** * <p>Specifies whether you want to delete this object even if it has a - * Governance-type Object Lock in place. You must have sufficient permissions to - * perform this operation.</p> + * Governance-type Object Lock in place. To use this header, you must have the + * <code>s3:BypassGovernanceRetention</code> permission.</p> */ inline bool BypassGovernanceRetentionHasBeenSet() const { return m_bypassGovernanceRetentionHasBeenSet; } /** * <p>Specifies whether you want to delete this object even if it has a - * Governance-type Object Lock in place. You must have sufficient permissions to - * perform this operation.</p> + * Governance-type Object Lock in place. To use this header, you must have the + * <code>s3:BypassGovernanceRetention</code> permission.</p> */ inline void SetBypassGovernanceRetention(bool value) { m_bypassGovernanceRetentionHasBeenSet = true; m_bypassGovernanceRetention = value; } /** * <p>Specifies whether you want to delete this object even if it has a - * Governance-type Object Lock in place. You must have sufficient permissions to - * perform this operation.</p> + * Governance-type Object Lock in place. To use this header, you must have the + * <code>s3:BypassGovernanceRetention</code> permission.</p> */ inline DeleteObjectsRequest& WithBypassGovernanceRetention(bool value) { SetBypassGovernanceRetention(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteObjectsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteObjectsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeleteObjectsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> <p>This checksum algorithm must be + * the same for all parts and it match the checksum value supplied in the + * <code>CreateMultipartUpload</code> request.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> <p>This checksum algorithm must be + * the same for all parts and it match the checksum value supplied in the + * <code>CreateMultipartUpload</code> request.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> <p>This checksum algorithm must be + * the same for all parts and it match the checksum value supplied in the + * <code>CreateMultipartUpload</code> request.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> <p>This checksum algorithm must be + * the same for all parts and it match the checksum value supplied in the + * <code>CreateMultipartUpload</code> request.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> <p>This checksum algorithm must be + * the same for all parts and it match the checksum value supplied in the + * <code>CreateMultipartUpload</code> request.</p> + */ + inline DeleteObjectsRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> <p>This checksum algorithm must be + * the same for all parts and it match the checksum value supplied in the + * <code>CreateMultipartUpload</code> request.</p> + */ + inline DeleteObjectsRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } @@ -457,25 +559,28 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Delete m_delete; - bool m_deleteHasBeenSet; + bool m_deleteHasBeenSet = false; Aws::String m_mFA; - bool m_mFAHasBeenSet; + bool m_mFAHasBeenSet = false; RequestPayer m_requestPayer; - bool m_requestPayerHasBeenSet; + bool m_requestPayerHasBeenSet = false; bool m_bypassGovernanceRetention; - bool m_bypassGovernanceRetentionHasBeenSet; + bool m_bypassGovernanceRetentionHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; + + ChecksumAlgorithm m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectsResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectsResult.h index 5533d2b3e5..b06f22acb1 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectsResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectsResult.h @@ -27,12 +27,12 @@ namespace S3 { namespace Model { - class AWS_S3_API DeleteObjectsResult + class DeleteObjectsResult { public: - DeleteObjectsResult(); - DeleteObjectsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - DeleteObjectsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API DeleteObjectsResult(); + AWS_S3_API DeleteObjectsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API DeleteObjectsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeletePublicAccessBlockRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeletePublicAccessBlockRequest.h index d53ad97548..754bb1e12b 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeletePublicAccessBlockRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeletePublicAccessBlockRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API DeletePublicAccessBlockRequest : public S3Request + class DeletePublicAccessBlockRequest : public S3Request { public: - DeletePublicAccessBlockRequest(); + AWS_S3_API DeletePublicAccessBlockRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "DeletePublicAccessBlock"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The Amazon S3 bucket whose <code>PublicAccessBlock</code> configuration you @@ -92,57 +96,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeletePublicAccessBlockRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeletePublicAccessBlockRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline DeletePublicAccessBlockRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -189,13 +193,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeletedObject.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeletedObject.h index 72f1b97e85..a2d30acfa0 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeletedObject.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeletedObject.h @@ -27,14 +27,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletedObject">AWS * API Reference</a></p> */ - class AWS_S3_API DeletedObject + class DeletedObject { public: - DeletedObject(); - DeletedObject(const Aws::Utils::Xml::XmlNode& xmlNode); - DeletedObject& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API DeletedObject(); + AWS_S3_API DeletedObject(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API DeletedObject& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -207,16 +207,16 @@ namespace Model private: Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; Aws::String m_versionId; - bool m_versionIdHasBeenSet; + bool m_versionIdHasBeenSet = false; bool m_deleteMarker; - bool m_deleteMarkerHasBeenSet; + bool m_deleteMarkerHasBeenSet = false; Aws::String m_deleteMarkerVersionId; - bool m_deleteMarkerVersionIdHasBeenSet; + bool m_deleteMarkerVersionIdHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Destination.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Destination.h index eabf57c69a..251c04b772 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Destination.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Destination.h @@ -34,14 +34,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Destination">AWS API * Reference</a></p> */ - class AWS_S3_API Destination + class Destination { public: - Destination(); - Destination(const Aws::Utils::Xml::XmlNode& xmlNode); - Destination& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Destination(); + AWS_S3_API Destination(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Destination& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -95,97 +95,97 @@ namespace Model /** * <p>Destination bucket owner account ID. In a cross-account scenario, if you - * direct Amazon S3 to change replica ownership to the AWS account that owns the - * destination bucket by specifying the <code>AccessControlTranslation</code> - * property, this is the account ID of the destination bucket owner. For more - * information, see <a + * direct Amazon S3 to change replica ownership to the Amazon Web Services account + * that owns the destination bucket by specifying the + * <code>AccessControlTranslation</code> property, this is the account ID of the + * destination bucket owner. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html">Replication - * Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon Simple - * Storage Service Developer Guide</i>.</p> + * Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon S3 + * User Guide</i>.</p> */ inline const Aws::String& GetAccount() const{ return m_account; } /** * <p>Destination bucket owner account ID. In a cross-account scenario, if you - * direct Amazon S3 to change replica ownership to the AWS account that owns the - * destination bucket by specifying the <code>AccessControlTranslation</code> - * property, this is the account ID of the destination bucket owner. For more - * information, see <a + * direct Amazon S3 to change replica ownership to the Amazon Web Services account + * that owns the destination bucket by specifying the + * <code>AccessControlTranslation</code> property, this is the account ID of the + * destination bucket owner. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html">Replication - * Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon Simple - * Storage Service Developer Guide</i>.</p> + * Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon S3 + * User Guide</i>.</p> */ inline bool AccountHasBeenSet() const { return m_accountHasBeenSet; } /** * <p>Destination bucket owner account ID. In a cross-account scenario, if you - * direct Amazon S3 to change replica ownership to the AWS account that owns the - * destination bucket by specifying the <code>AccessControlTranslation</code> - * property, this is the account ID of the destination bucket owner. For more - * information, see <a + * direct Amazon S3 to change replica ownership to the Amazon Web Services account + * that owns the destination bucket by specifying the + * <code>AccessControlTranslation</code> property, this is the account ID of the + * destination bucket owner. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html">Replication - * Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon Simple - * Storage Service Developer Guide</i>.</p> + * Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon S3 + * User Guide</i>.</p> */ inline void SetAccount(const Aws::String& value) { m_accountHasBeenSet = true; m_account = value; } /** * <p>Destination bucket owner account ID. In a cross-account scenario, if you - * direct Amazon S3 to change replica ownership to the AWS account that owns the - * destination bucket by specifying the <code>AccessControlTranslation</code> - * property, this is the account ID of the destination bucket owner. For more - * information, see <a + * direct Amazon S3 to change replica ownership to the Amazon Web Services account + * that owns the destination bucket by specifying the + * <code>AccessControlTranslation</code> property, this is the account ID of the + * destination bucket owner. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html">Replication - * Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon Simple - * Storage Service Developer Guide</i>.</p> + * Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon S3 + * User Guide</i>.</p> */ inline void SetAccount(Aws::String&& value) { m_accountHasBeenSet = true; m_account = std::move(value); } /** * <p>Destination bucket owner account ID. In a cross-account scenario, if you - * direct Amazon S3 to change replica ownership to the AWS account that owns the - * destination bucket by specifying the <code>AccessControlTranslation</code> - * property, this is the account ID of the destination bucket owner. For more - * information, see <a + * direct Amazon S3 to change replica ownership to the Amazon Web Services account + * that owns the destination bucket by specifying the + * <code>AccessControlTranslation</code> property, this is the account ID of the + * destination bucket owner. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html">Replication - * Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon Simple - * Storage Service Developer Guide</i>.</p> + * Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon S3 + * User Guide</i>.</p> */ inline void SetAccount(const char* value) { m_accountHasBeenSet = true; m_account.assign(value); } /** * <p>Destination bucket owner account ID. In a cross-account scenario, if you - * direct Amazon S3 to change replica ownership to the AWS account that owns the - * destination bucket by specifying the <code>AccessControlTranslation</code> - * property, this is the account ID of the destination bucket owner. For more - * information, see <a + * direct Amazon S3 to change replica ownership to the Amazon Web Services account + * that owns the destination bucket by specifying the + * <code>AccessControlTranslation</code> property, this is the account ID of the + * destination bucket owner. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html">Replication - * Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon Simple - * Storage Service Developer Guide</i>.</p> + * Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon S3 + * User Guide</i>.</p> */ inline Destination& WithAccount(const Aws::String& value) { SetAccount(value); return *this;} /** * <p>Destination bucket owner account ID. In a cross-account scenario, if you - * direct Amazon S3 to change replica ownership to the AWS account that owns the - * destination bucket by specifying the <code>AccessControlTranslation</code> - * property, this is the account ID of the destination bucket owner. For more - * information, see <a + * direct Amazon S3 to change replica ownership to the Amazon Web Services account + * that owns the destination bucket by specifying the + * <code>AccessControlTranslation</code> property, this is the account ID of the + * destination bucket owner. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html">Replication - * Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon Simple - * Storage Service Developer Guide</i>.</p> + * Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon S3 + * User Guide</i>.</p> */ inline Destination& WithAccount(Aws::String&& value) { SetAccount(std::move(value)); return *this;} /** * <p>Destination bucket owner account ID. In a cross-account scenario, if you - * direct Amazon S3 to change replica ownership to the AWS account that owns the - * destination bucket by specifying the <code>AccessControlTranslation</code> - * property, this is the account ID of the destination bucket owner. For more - * information, see <a + * direct Amazon S3 to change replica ownership to the Amazon Web Services account + * that owns the destination bucket by specifying the + * <code>AccessControlTranslation</code> property, this is the account ID of the + * destination bucket owner. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html">Replication - * Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon Simple - * Storage Service Developer Guide</i>.</p> + * Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon S3 + * User Guide</i>.</p> */ inline Destination& WithAccount(const char* value) { SetAccount(value); return *this;} @@ -196,8 +196,7 @@ namespace Model * object to create the object replica. </p> <p>For valid values, see the * <code>StorageClass</code> element of the <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT - * Bucket replication</a> action in the <i>Amazon Simple Storage Service API - * Reference</i>.</p> + * Bucket replication</a> action in the <i>Amazon S3 API Reference</i>.</p> */ inline const StorageClass& GetStorageClass() const{ return m_storageClass; } @@ -207,8 +206,7 @@ namespace Model * object to create the object replica. </p> <p>For valid values, see the * <code>StorageClass</code> element of the <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT - * Bucket replication</a> action in the <i>Amazon Simple Storage Service API - * Reference</i>.</p> + * Bucket replication</a> action in the <i>Amazon S3 API Reference</i>.</p> */ inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; } @@ -218,8 +216,7 @@ namespace Model * object to create the object replica. </p> <p>For valid values, see the * <code>StorageClass</code> element of the <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT - * Bucket replication</a> action in the <i>Amazon Simple Storage Service API - * Reference</i>.</p> + * Bucket replication</a> action in the <i>Amazon S3 API Reference</i>.</p> */ inline void SetStorageClass(const StorageClass& value) { m_storageClassHasBeenSet = true; m_storageClass = value; } @@ -229,8 +226,7 @@ namespace Model * object to create the object replica. </p> <p>For valid values, see the * <code>StorageClass</code> element of the <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT - * Bucket replication</a> action in the <i>Amazon Simple Storage Service API - * Reference</i>.</p> + * Bucket replication</a> action in the <i>Amazon S3 API Reference</i>.</p> */ inline void SetStorageClass(StorageClass&& value) { m_storageClassHasBeenSet = true; m_storageClass = std::move(value); } @@ -240,8 +236,7 @@ namespace Model * object to create the object replica. </p> <p>For valid values, see the * <code>StorageClass</code> element of the <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT - * Bucket replication</a> action in the <i>Amazon Simple Storage Service API - * Reference</i>.</p> + * Bucket replication</a> action in the <i>Amazon S3 API Reference</i>.</p> */ inline Destination& WithStorageClass(const StorageClass& value) { SetStorageClass(value); return *this;} @@ -251,8 +246,7 @@ namespace Model * object to create the object replica. </p> <p>For valid values, see the * <code>StorageClass</code> element of the <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT - * Bucket replication</a> action in the <i>Amazon Simple Storage Service API - * Reference</i>.</p> + * Bucket replication</a> action in the <i>Amazon S3 API Reference</i>.</p> */ inline Destination& WithStorageClass(StorageClass&& value) { SetStorageClass(std::move(value)); return *this;} @@ -260,54 +254,54 @@ namespace Model /** * <p>Specify this only in a cross-account scenario (where source and destination * bucket owners are not the same), and you want to change replica ownership to the - * AWS account that owns the destination bucket. If this is not specified in the - * replication configuration, the replicas are owned by same AWS account that owns - * the source object.</p> + * Amazon Web Services account that owns the destination bucket. If this is not + * specified in the replication configuration, the replicas are owned by same + * Amazon Web Services account that owns the source object.</p> */ inline const AccessControlTranslation& GetAccessControlTranslation() const{ return m_accessControlTranslation; } /** * <p>Specify this only in a cross-account scenario (where source and destination * bucket owners are not the same), and you want to change replica ownership to the - * AWS account that owns the destination bucket. If this is not specified in the - * replication configuration, the replicas are owned by same AWS account that owns - * the source object.</p> + * Amazon Web Services account that owns the destination bucket. If this is not + * specified in the replication configuration, the replicas are owned by same + * Amazon Web Services account that owns the source object.</p> */ inline bool AccessControlTranslationHasBeenSet() const { return m_accessControlTranslationHasBeenSet; } /** * <p>Specify this only in a cross-account scenario (where source and destination * bucket owners are not the same), and you want to change replica ownership to the - * AWS account that owns the destination bucket. If this is not specified in the - * replication configuration, the replicas are owned by same AWS account that owns - * the source object.</p> + * Amazon Web Services account that owns the destination bucket. If this is not + * specified in the replication configuration, the replicas are owned by same + * Amazon Web Services account that owns the source object.</p> */ inline void SetAccessControlTranslation(const AccessControlTranslation& value) { m_accessControlTranslationHasBeenSet = true; m_accessControlTranslation = value; } /** * <p>Specify this only in a cross-account scenario (where source and destination * bucket owners are not the same), and you want to change replica ownership to the - * AWS account that owns the destination bucket. If this is not specified in the - * replication configuration, the replicas are owned by same AWS account that owns - * the source object.</p> + * Amazon Web Services account that owns the destination bucket. If this is not + * specified in the replication configuration, the replicas are owned by same + * Amazon Web Services account that owns the source object.</p> */ inline void SetAccessControlTranslation(AccessControlTranslation&& value) { m_accessControlTranslationHasBeenSet = true; m_accessControlTranslation = std::move(value); } /** * <p>Specify this only in a cross-account scenario (where source and destination * bucket owners are not the same), and you want to change replica ownership to the - * AWS account that owns the destination bucket. If this is not specified in the - * replication configuration, the replicas are owned by same AWS account that owns - * the source object.</p> + * Amazon Web Services account that owns the destination bucket. If this is not + * specified in the replication configuration, the replicas are owned by same + * Amazon Web Services account that owns the source object.</p> */ inline Destination& WithAccessControlTranslation(const AccessControlTranslation& value) { SetAccessControlTranslation(value); return *this;} /** * <p>Specify this only in a cross-account scenario (where source and destination * bucket owners are not the same), and you want to change replica ownership to the - * AWS account that owns the destination bucket. If this is not specified in the - * replication configuration, the replicas are owned by same AWS account that owns - * the source object.</p> + * Amazon Web Services account that owns the destination bucket. If this is not + * specified in the replication configuration, the replicas are owned by same + * Amazon Web Services account that owns the source object.</p> */ inline Destination& WithAccessControlTranslation(AccessControlTranslation&& value) { SetAccessControlTranslation(std::move(value)); return *this;} @@ -443,25 +437,25 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_account; - bool m_accountHasBeenSet; + bool m_accountHasBeenSet = false; StorageClass m_storageClass; - bool m_storageClassHasBeenSet; + bool m_storageClassHasBeenSet = false; AccessControlTranslation m_accessControlTranslation; - bool m_accessControlTranslationHasBeenSet; + bool m_accessControlTranslationHasBeenSet = false; EncryptionConfiguration m_encryptionConfiguration; - bool m_encryptionConfigurationHasBeenSet; + bool m_encryptionConfigurationHasBeenSet = false; ReplicationTime m_replicationTime; - bool m_replicationTimeHasBeenSet; + bool m_replicationTimeHasBeenSet = false; Metrics m_metrics; - bool m_metricsHasBeenSet; + bool m_metricsHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Encryption.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Encryption.h index 87937565bb..729beeeca0 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Encryption.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Encryption.h @@ -28,14 +28,14 @@ namespace Model * <a href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Encryption">AWS * API Reference</a></p> */ - class AWS_S3_API Encryption + class Encryption { public: - Encryption(); - Encryption(const Aws::Utils::Xml::XmlNode& xmlNode); - Encryption& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Encryption(); + AWS_S3_API Encryption(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Encryption& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -77,89 +77,81 @@ namespace Model /** * <p>If the encryption type is <code>aws:kms</code>, this optional value specifies - * the ID of the symmetric customer managed AWS KMS CMK to use for encryption of - * job results. Amazon S3 only supports symmetric CMKs. For more information, see - * <a + * the ID of the symmetric customer managed key to use for encryption of job + * results. Amazon S3 only supports symmetric keys. For more information, see <a * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using - * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer - * Guide</i>.</p> + * symmetric and asymmetric keys</a> in the <i>Amazon Web Services Key Management + * Service Developer Guide</i>.</p> */ inline const Aws::String& GetKMSKeyId() const{ return m_kMSKeyId; } /** * <p>If the encryption type is <code>aws:kms</code>, this optional value specifies - * the ID of the symmetric customer managed AWS KMS CMK to use for encryption of - * job results. Amazon S3 only supports symmetric CMKs. For more information, see - * <a + * the ID of the symmetric customer managed key to use for encryption of job + * results. Amazon S3 only supports symmetric keys. For more information, see <a * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using - * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer - * Guide</i>.</p> + * symmetric and asymmetric keys</a> in the <i>Amazon Web Services Key Management + * Service Developer Guide</i>.</p> */ inline bool KMSKeyIdHasBeenSet() const { return m_kMSKeyIdHasBeenSet; } /** * <p>If the encryption type is <code>aws:kms</code>, this optional value specifies - * the ID of the symmetric customer managed AWS KMS CMK to use for encryption of - * job results. Amazon S3 only supports symmetric CMKs. For more information, see - * <a + * the ID of the symmetric customer managed key to use for encryption of job + * results. Amazon S3 only supports symmetric keys. For more information, see <a * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using - * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer - * Guide</i>.</p> + * symmetric and asymmetric keys</a> in the <i>Amazon Web Services Key Management + * Service Developer Guide</i>.</p> */ inline void SetKMSKeyId(const Aws::String& value) { m_kMSKeyIdHasBeenSet = true; m_kMSKeyId = value; } /** * <p>If the encryption type is <code>aws:kms</code>, this optional value specifies - * the ID of the symmetric customer managed AWS KMS CMK to use for encryption of - * job results. Amazon S3 only supports symmetric CMKs. For more information, see - * <a + * the ID of the symmetric customer managed key to use for encryption of job + * results. Amazon S3 only supports symmetric keys. For more information, see <a * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using - * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer - * Guide</i>.</p> + * symmetric and asymmetric keys</a> in the <i>Amazon Web Services Key Management + * Service Developer Guide</i>.</p> */ inline void SetKMSKeyId(Aws::String&& value) { m_kMSKeyIdHasBeenSet = true; m_kMSKeyId = std::move(value); } /** * <p>If the encryption type is <code>aws:kms</code>, this optional value specifies - * the ID of the symmetric customer managed AWS KMS CMK to use for encryption of - * job results. Amazon S3 only supports symmetric CMKs. For more information, see - * <a + * the ID of the symmetric customer managed key to use for encryption of job + * results. Amazon S3 only supports symmetric keys. For more information, see <a * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using - * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer - * Guide</i>.</p> + * symmetric and asymmetric keys</a> in the <i>Amazon Web Services Key Management + * Service Developer Guide</i>.</p> */ inline void SetKMSKeyId(const char* value) { m_kMSKeyIdHasBeenSet = true; m_kMSKeyId.assign(value); } /** * <p>If the encryption type is <code>aws:kms</code>, this optional value specifies - * the ID of the symmetric customer managed AWS KMS CMK to use for encryption of - * job results. Amazon S3 only supports symmetric CMKs. For more information, see - * <a + * the ID of the symmetric customer managed key to use for encryption of job + * results. Amazon S3 only supports symmetric keys. For more information, see <a * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using - * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer - * Guide</i>.</p> + * symmetric and asymmetric keys</a> in the <i>Amazon Web Services Key Management + * Service Developer Guide</i>.</p> */ inline Encryption& WithKMSKeyId(const Aws::String& value) { SetKMSKeyId(value); return *this;} /** * <p>If the encryption type is <code>aws:kms</code>, this optional value specifies - * the ID of the symmetric customer managed AWS KMS CMK to use for encryption of - * job results. Amazon S3 only supports symmetric CMKs. For more information, see - * <a + * the ID of the symmetric customer managed key to use for encryption of job + * results. Amazon S3 only supports symmetric keys. For more information, see <a * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using - * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer - * Guide</i>.</p> + * symmetric and asymmetric keys</a> in the <i>Amazon Web Services Key Management + * Service Developer Guide</i>.</p> */ inline Encryption& WithKMSKeyId(Aws::String&& value) { SetKMSKeyId(std::move(value)); return *this;} /** * <p>If the encryption type is <code>aws:kms</code>, this optional value specifies - * the ID of the symmetric customer managed AWS KMS CMK to use for encryption of - * job results. Amazon S3 only supports symmetric CMKs. For more information, see - * <a + * the ID of the symmetric customer managed key to use for encryption of job + * results. Amazon S3 only supports symmetric keys. For more information, see <a * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using - * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer - * Guide</i>.</p> + * symmetric and asymmetric keys</a> in the <i>Amazon Web Services Key Management + * Service Developer Guide</i>.</p> */ inline Encryption& WithKMSKeyId(const char* value) { SetKMSKeyId(value); return *this;} @@ -215,13 +207,13 @@ namespace Model private: ServerSideEncryption m_encryptionType; - bool m_encryptionTypeHasBeenSet; + bool m_encryptionTypeHasBeenSet = false; Aws::String m_kMSKeyId; - bool m_kMSKeyIdHasBeenSet; + bool m_kMSKeyIdHasBeenSet = false; Aws::String m_kMSContext; - bool m_kMSContextHasBeenSet; + bool m_kMSContextHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/EncryptionConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/EncryptionConfiguration.h index 14d86c3767..285dda7937 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/EncryptionConfiguration.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/EncryptionConfiguration.h @@ -28,108 +28,116 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/EncryptionConfiguration">AWS * API Reference</a></p> */ - class AWS_S3_API EncryptionConfiguration + class EncryptionConfiguration { public: - EncryptionConfiguration(); - EncryptionConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); - EncryptionConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API EncryptionConfiguration(); + AWS_S3_API EncryptionConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API EncryptionConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** - * <p>Specifies the ID (Key ARN or Alias ARN) of the customer managed customer - * master key (CMK) stored in AWS Key Management Service (KMS) for the destination - * bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only - * supports symmetric customer managed CMKs. For more information, see <a + * <p>Specifies the ID (Key ARN or Alias ARN) of the customer managed Amazon Web + * Services KMS key stored in Amazon Web Services Key Management Service (KMS) for + * the destination bucket. Amazon S3 uses this key to encrypt replica objects. + * Amazon S3 only supports symmetric, customer managed KMS keys. For more + * information, see <a * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using - * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer - * Guide</i>.</p> + * symmetric and asymmetric keys</a> in the <i>Amazon Web Services Key Management + * Service Developer Guide</i>.</p> */ inline const Aws::String& GetReplicaKmsKeyID() const{ return m_replicaKmsKeyID; } /** - * <p>Specifies the ID (Key ARN or Alias ARN) of the customer managed customer - * master key (CMK) stored in AWS Key Management Service (KMS) for the destination - * bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only - * supports symmetric customer managed CMKs. For more information, see <a + * <p>Specifies the ID (Key ARN or Alias ARN) of the customer managed Amazon Web + * Services KMS key stored in Amazon Web Services Key Management Service (KMS) for + * the destination bucket. Amazon S3 uses this key to encrypt replica objects. + * Amazon S3 only supports symmetric, customer managed KMS keys. For more + * information, see <a * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using - * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer - * Guide</i>.</p> + * symmetric and asymmetric keys</a> in the <i>Amazon Web Services Key Management + * Service Developer Guide</i>.</p> */ inline bool ReplicaKmsKeyIDHasBeenSet() const { return m_replicaKmsKeyIDHasBeenSet; } /** - * <p>Specifies the ID (Key ARN or Alias ARN) of the customer managed customer - * master key (CMK) stored in AWS Key Management Service (KMS) for the destination - * bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only - * supports symmetric customer managed CMKs. For more information, see <a + * <p>Specifies the ID (Key ARN or Alias ARN) of the customer managed Amazon Web + * Services KMS key stored in Amazon Web Services Key Management Service (KMS) for + * the destination bucket. Amazon S3 uses this key to encrypt replica objects. + * Amazon S3 only supports symmetric, customer managed KMS keys. For more + * information, see <a * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using - * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer - * Guide</i>.</p> + * symmetric and asymmetric keys</a> in the <i>Amazon Web Services Key Management + * Service Developer Guide</i>.</p> */ inline void SetReplicaKmsKeyID(const Aws::String& value) { m_replicaKmsKeyIDHasBeenSet = true; m_replicaKmsKeyID = value; } /** - * <p>Specifies the ID (Key ARN or Alias ARN) of the customer managed customer - * master key (CMK) stored in AWS Key Management Service (KMS) for the destination - * bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only - * supports symmetric customer managed CMKs. For more information, see <a + * <p>Specifies the ID (Key ARN or Alias ARN) of the customer managed Amazon Web + * Services KMS key stored in Amazon Web Services Key Management Service (KMS) for + * the destination bucket. Amazon S3 uses this key to encrypt replica objects. + * Amazon S3 only supports symmetric, customer managed KMS keys. For more + * information, see <a * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using - * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer - * Guide</i>.</p> + * symmetric and asymmetric keys</a> in the <i>Amazon Web Services Key Management + * Service Developer Guide</i>.</p> */ inline void SetReplicaKmsKeyID(Aws::String&& value) { m_replicaKmsKeyIDHasBeenSet = true; m_replicaKmsKeyID = std::move(value); } /** - * <p>Specifies the ID (Key ARN or Alias ARN) of the customer managed customer - * master key (CMK) stored in AWS Key Management Service (KMS) for the destination - * bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only - * supports symmetric customer managed CMKs. For more information, see <a + * <p>Specifies the ID (Key ARN or Alias ARN) of the customer managed Amazon Web + * Services KMS key stored in Amazon Web Services Key Management Service (KMS) for + * the destination bucket. Amazon S3 uses this key to encrypt replica objects. + * Amazon S3 only supports symmetric, customer managed KMS keys. For more + * information, see <a * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using - * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer - * Guide</i>.</p> + * symmetric and asymmetric keys</a> in the <i>Amazon Web Services Key Management + * Service Developer Guide</i>.</p> */ inline void SetReplicaKmsKeyID(const char* value) { m_replicaKmsKeyIDHasBeenSet = true; m_replicaKmsKeyID.assign(value); } /** - * <p>Specifies the ID (Key ARN or Alias ARN) of the customer managed customer - * master key (CMK) stored in AWS Key Management Service (KMS) for the destination - * bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only - * supports symmetric customer managed CMKs. For more information, see <a + * <p>Specifies the ID (Key ARN or Alias ARN) of the customer managed Amazon Web + * Services KMS key stored in Amazon Web Services Key Management Service (KMS) for + * the destination bucket. Amazon S3 uses this key to encrypt replica objects. + * Amazon S3 only supports symmetric, customer managed KMS keys. For more + * information, see <a * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using - * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer - * Guide</i>.</p> + * symmetric and asymmetric keys</a> in the <i>Amazon Web Services Key Management + * Service Developer Guide</i>.</p> */ inline EncryptionConfiguration& WithReplicaKmsKeyID(const Aws::String& value) { SetReplicaKmsKeyID(value); return *this;} /** - * <p>Specifies the ID (Key ARN or Alias ARN) of the customer managed customer - * master key (CMK) stored in AWS Key Management Service (KMS) for the destination - * bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only - * supports symmetric customer managed CMKs. For more information, see <a + * <p>Specifies the ID (Key ARN or Alias ARN) of the customer managed Amazon Web + * Services KMS key stored in Amazon Web Services Key Management Service (KMS) for + * the destination bucket. Amazon S3 uses this key to encrypt replica objects. + * Amazon S3 only supports symmetric, customer managed KMS keys. For more + * information, see <a * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using - * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer - * Guide</i>.</p> + * symmetric and asymmetric keys</a> in the <i>Amazon Web Services Key Management + * Service Developer Guide</i>.</p> */ inline EncryptionConfiguration& WithReplicaKmsKeyID(Aws::String&& value) { SetReplicaKmsKeyID(std::move(value)); return *this;} /** - * <p>Specifies the ID (Key ARN or Alias ARN) of the customer managed customer - * master key (CMK) stored in AWS Key Management Service (KMS) for the destination - * bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only - * supports symmetric customer managed CMKs. For more information, see <a + * <p>Specifies the ID (Key ARN or Alias ARN) of the customer managed Amazon Web + * Services KMS key stored in Amazon Web Services Key Management Service (KMS) for + * the destination bucket. Amazon S3 uses this key to encrypt replica objects. + * Amazon S3 only supports symmetric, customer managed KMS keys. For more + * information, see <a * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using - * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer - * Guide</i>.</p> + * symmetric and asymmetric keys</a> in the <i>Amazon Web Services Key Management + * Service Developer Guide</i>.</p> */ inline EncryptionConfiguration& WithReplicaKmsKeyID(const char* value) { SetReplicaKmsKeyID(value); return *this;} private: Aws::String m_replicaKmsKeyID; - bool m_replicaKmsKeyIDHasBeenSet; + bool m_replicaKmsKeyIDHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Error.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Error.h index a6ca21b0e4..50d4938818 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Error.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Error.h @@ -27,14 +27,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Error">AWS API * Reference</a></p> */ - class AWS_S3_API Error + class Error { public: - Error(); - Error(const Aws::Utils::Xml::XmlNode& xmlNode); - Error& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Error(); + AWS_S3_API Error(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Error& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -127,41 +127,42 @@ namespace Model * Access Denied</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> * <ul> <li> <p> <i>Code:</i> AccountProblem</p> </li> <li> <p> <i>Description:</i> - * There is a problem with your AWS account that prevents the action from - * completing successfully. Contact AWS Support for further assistance.</p> </li> - * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault + * There is a problem with your Amazon Web Services account that prevents the + * action from completing successfully. Contact Amazon Web Services Support for + * further assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> AllAccessDisabled</p> </li> <li> <p> + * <i>Description:</i> All access to this Amazon S3 resource has been disabled. + * Contact Amazon Web Services Support for further assistance.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * AmbiguousGrantByEmailAddress</p> </li> <li> <p> <i>Description:</i> The email + * address you provided is associated with more than one account.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * AllAccessDisabled</p> </li> <li> <p> <i>Description:</i> All access to this - * Amazon S3 resource has been disabled. Contact AWS Support for further - * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * AuthorizationHeaderMalformed</p> </li> <li> <p> <i>Description:</i> The + * authorization header you provided is invalid.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>HTTP Status Code:</i> N/A</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> BadDigest</p> </li> <li> <p> + * <i>Description:</i> The Content-MD5 you specified did not match what we + * received.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> AmbiguousGrantByEmailAddress</p> </li> <li> <p> - * <i>Description:</i> The email address you provided is associated with more than - * one account.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> - * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code:</i> AuthorizationHeaderMalformed</p> </li> <li> <p> - * <i>Description:</i> The authorization header you provided is invalid.</p> </li> - * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>HTTP - * Status Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * BadDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you specified - * did not match what we received.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 - * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> BucketAlreadyExists</p> </li> <li> - * <p> <i>Description:</i> The requested bucket name is not available. The bucket - * namespace is shared by all users of the system. Please select a different name - * and try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> - * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code:</i> BucketAlreadyOwnedByYou</p> </li> <li> <p> - * <i>Description:</i> The bucket you tried to create already exists, and you own - * it. Amazon S3 returns this error in all AWS Regions except in the North Virginia - * Region. For legacy compatibility, if you re-create an existing bucket that you - * already own in the North Virginia Region, Amazon S3 returns 200 OK and resets - * the bucket access control lists (ACLs).</p> </li> <li> <p> <i>Code:</i> 409 - * Conflict (in all Regions except the North Virginia Region) </p> </li> <li> <p> - * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>Code:</i> BucketNotEmpty</p> </li> <li> <p> <i>Description:</i> The bucket - * you tried to delete is not empty.</p> </li> <li> <p> <i>HTTP Status Code:</i> - * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * <li> <p> <i>Code:</i> BucketAlreadyExists</p> </li> <li> <p> <i>Description:</i> + * The requested bucket name is not available. The bucket namespace is shared by + * all users of the system. Please select a different name and try again.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * BucketAlreadyOwnedByYou</p> </li> <li> <p> <i>Description:</i> The bucket you + * tried to create already exists, and you own it. Amazon S3 returns this error in + * all Amazon Web Services Regions except in the North Virginia Region. For legacy + * compatibility, if you re-create an existing bucket that you already own in the + * North Virginia Region, Amazon S3 returns 200 OK and resets the bucket access + * control lists (ACLs).</p> </li> <li> <p> <i>Code:</i> 409 Conflict (in all + * Regions except the North Virginia Region) </p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * BucketNotEmpty</p> </li> <li> <p> <i>Description:</i> The bucket you tried to + * delete is not empty.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 + * Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> CredentialsNotSupported</p> </li> * <li> <p> <i>Description:</i> This request does not support credentials.</p> * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> @@ -202,33 +203,34 @@ namespace Model * again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 500 Internal Server Error</p> * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> * <ul> <li> <p> <i>Code:</i> InvalidAccessKeyId</p> </li> <li> <p> - * <i>Description:</i> The AWS access key ID you provided does not exist in our - * records.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> InvalidAddressingHeader</p> </li> <li> <p> - * <i>Description:</i> You must specify the Anonymous role.</p> </li> <li> <p> - * <i>HTTP Status Code:</i> N/A</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> - * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidArgument</p> - * </li> <li> <p> <i>Description:</i> Invalid Argument</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code - * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidBucketName</p> </li> <li> <p> <i>Description:</i> The specified bucket is - * not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> InvalidBucketState</p> </li> <li> <p> <i>Description:</i> - * The request is not valid with the current state of the bucket.</p> </li> <li> - * <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code + * <i>Description:</i> The Amazon Web Services access key ID you provided does not + * exist in our records.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidAddressingHeader</p> </li> + * <li> <p> <i>Description:</i> You must specify the Anonymous role.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> N/A</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you - * specified is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad - * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> - * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidEncryptionAlgorithmError</p> </li> - * <li> <p> <i>Description:</i> The encryption request you specified is not valid. - * The valid value is AES256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad - * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> - * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidLocationConstraint</p> </li> <li> - * <p> <i>Description:</i> The specified location constraint is not valid. For more - * information about Regions, see <a + * InvalidArgument</p> </li> <li> <p> <i>Description:</i> Invalid Argument</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> InvalidBucketName</p> </li> <li> <p> <i>Description:</i> The + * specified bucket is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidBucketState</p> </li> <li> + * <p> <i>Description:</i> The request is not valid with the current state of the + * bucket.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> InvalidDigest</p> </li> <li> <p> <i>Description:</i> The + * Content-MD5 you specified is not valid.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidEncryptionAlgorithmError</p> </li> <li> <p> <i>Description:</i> The + * encryption request you specified is not valid. The valid value is AES256.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> InvalidLocationConstraint</p> </li> <li> <p> <i>Description:</i> + * The specified location constraint is not valid. For more information about + * Regions, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">How * to Select a Region for Your Buckets</a>. </p> </li> <li> <p> <i>HTTP Status * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> @@ -247,11 +249,11 @@ namespace Model * number.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> * <li> <p> <i>Code:</i> InvalidPayer</p> </li> <li> <p> <i>Description:</i> All - * access to this object has been disabled. Please contact AWS Support for further - * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> InvalidPolicyDocument</p> </li> <li> <p> - * <i>Description:</i> The content of the form does not meet the conditions + * access to this object has been disabled. Please contact Amazon Web Services + * Support for further assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidPolicyDocument</p> </li> <li> + * <p> <i>Description:</i> The content of the form does not meet the conditions * specified in the policy document.</p> </li> <li> <p> <i>HTTP Status Code:</i> * 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRange</p> </li> <li> @@ -259,10 +261,10 @@ namespace Model * <p> <i>HTTP Status Code:</i> 416 Requested Range Not Satisfiable</p> </li> <li> * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> Please - * use AWS4-HMAC-SHA256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad - * Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> - * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> SOAP - * requests must be made over an HTTPS connection.</p> </li> <li> <p> <i>HTTP + * use <code>AWS4-HMAC-SHA256</code>.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> + * SOAP requests must be made over an HTTPS connection.</p> </li> <li> <p> <i>HTTP * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer @@ -285,44 +287,44 @@ namespace Model * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> * <i>Description:</i> Amazon S3 Transfer Acceleration is not supported on this - * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> - * <i>Description:</i> Amazon S3 Transfer Acceleration cannot be enabled on this - * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidSecurity</p> </li> <li> <p> - * <i>Description:</i> The provided security credentials are not valid.</p> </li> - * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault - * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidSOAPRequest</p> </li> <li> <p> <i>Description:</i> The SOAP request body - * is invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> - * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code:</i> InvalidStorageClass</p> </li> <li> <p> - * <i>Description:</i> The storage class you specified is not valid.</p> </li> <li> - * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault - * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidTargetBucketForLogging</p> </li> <li> <p> <i>Description:</i> The target - * bucket for logging does not exist, is not owned by you, or does not have the - * appropriate grants for the log-delivery group. </p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * bucket. Contact Amazon Web Services Support for more information.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> + * N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> + * </li> <li> <p> <i>Description:</i> Amazon S3 Transfer Acceleration cannot be + * enabled on this bucket. Contact Amazon Web Services Support for more + * information.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> InvalidSecurity</p> </li> <li> <p> <i>Description:</i> The provided + * security credentials are not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidSOAPRequest</p> </li> <li> + * <p> <i>Description:</i> The SOAP request body is invalid.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidToken</p> </li> <li> <p> <i>Description:</i> The provided token is - * malformed or otherwise invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 - * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidURI</p> </li> <li> <p> - * <i>Description:</i> Couldn't parse the specified URI.</p> </li> <li> <p> <i>HTTP + * InvalidStorageClass</p> </li> <li> <p> <i>Description:</i> The storage class you + * specified is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidTargetBucketForLogging</p> </li> + * <li> <p> <i>Description:</i> The target bucket for logging does not exist, is + * not owned by you, or does not have the appropriate grants for the log-delivery + * group. </p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidToken</p> </li> <li> <p> <i>Description:</i> The + * provided token is malformed or otherwise invalid.</p> </li> <li> <p> <i>HTTP * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * KeyTooLongError</p> </li> <li> <p> <i>Description:</i> Your key is too long.</p> - * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> - * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>Code:</i> MalformedACLError</p> </li> <li> <p> <i>Description:</i> The XML - * you provided was not well-formed or did not validate against our published - * schema.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> MalformedPOSTRequest </p> </li> <li> <p> - * <i>Description:</i> The body of your POST request is not well-formed + * InvalidURI</p> </li> <li> <p> <i>Description:</i> Couldn't parse the specified + * URI.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> KeyTooLongError</p> </li> <li> <p> <i>Description:</i> Your key + * is too long.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> MalformedACLError</p> </li> <li> <p> + * <i>Description:</i> The XML you provided was not well-formed or did not validate + * against our published schema.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> MalformedPOSTRequest </p> </li> <li> + * <p> <i>Description:</i> The body of your POST request is not well-formed * multipart/form-data.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> * </li> <li> <ul> <li> <p> <i>Code:</i> MalformedXML</p> </li> <li> <p> @@ -399,20 +401,21 @@ namespace Model * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotSignedUp</p> </li> <li> <p> * <i>Description:</i> Your account is not signed up for the Amazon S3 service. You * must sign up before you can use Amazon S3. You can sign up at the following URL: - * https://aws.amazon.com/s3</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 - * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> OperationAborted</p> </li> <li> <p> - * <i>Description:</i> A conflicting conditional action is currently in progress - * against this resource. Try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> - * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> PermanentRedirect</p> </li> <li> <p> - * <i>Description:</i> The bucket you are attempting to access must be addressed - * using the specified endpoint. Send all future requests to this endpoint.</p> - * </li> <li> <p> <i>HTTP Status Code:</i> 301 Moved Permanently</p> </li> <li> <p> - * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>Code:</i> PreconditionFailed</p> </li> <li> <p> <i>Description:</i> At least - * one of the preconditions you specified did not hold.</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 412 Precondition Failed</p> </li> <li> <p> <i>SOAP Fault Code + * <a href="http://aws.amazon.com/s3">Amazon S3</a> </p> </li> <li> <p> <i>HTTP + * Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * OperationAborted</p> </li> <li> <p> <i>Description:</i> A conflicting + * conditional action is currently in progress against this resource. Try + * again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> PermanentRedirect</p> </li> <li> <p> <i>Description:</i> The + * bucket you are attempting to access must be addressed using the specified + * endpoint. Send all future requests to this endpoint.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 301 Moved Permanently</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * PreconditionFailed</p> </li> <li> <p> <i>Description:</i> At least one of the + * preconditions you specified did not hold.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 412 Precondition Failed</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> * Redirect</p> </li> <li> <p> <i>Description:</i> Temporary redirect.</p> </li> * <li> <p> <i>HTTP Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p> @@ -439,7 +442,8 @@ namespace Model * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> * SignatureDoesNotMatch</p> </li> <li> <p> <i>Description:</i> The request * signature we calculated does not match the signature you provided. Check your - * AWS secret access key and signing method. For more information, see <a + * Amazon Web Services secret access key and signing method. For more information, + * see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST * Authentication</a> and <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/SOAPAuthentication.html">SOAP @@ -487,41 +491,42 @@ namespace Model * Access Denied</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> * <ul> <li> <p> <i>Code:</i> AccountProblem</p> </li> <li> <p> <i>Description:</i> - * There is a problem with your AWS account that prevents the action from - * completing successfully. Contact AWS Support for further assistance.</p> </li> - * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault + * There is a problem with your Amazon Web Services account that prevents the + * action from completing successfully. Contact Amazon Web Services Support for + * further assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> AllAccessDisabled</p> </li> <li> <p> + * <i>Description:</i> All access to this Amazon S3 resource has been disabled. + * Contact Amazon Web Services Support for further assistance.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * AmbiguousGrantByEmailAddress</p> </li> <li> <p> <i>Description:</i> The email + * address you provided is associated with more than one account.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * AllAccessDisabled</p> </li> <li> <p> <i>Description:</i> All access to this - * Amazon S3 resource has been disabled. Contact AWS Support for further - * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * AuthorizationHeaderMalformed</p> </li> <li> <p> <i>Description:</i> The + * authorization header you provided is invalid.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>HTTP Status Code:</i> N/A</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> BadDigest</p> </li> <li> <p> + * <i>Description:</i> The Content-MD5 you specified did not match what we + * received.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> AmbiguousGrantByEmailAddress</p> </li> <li> <p> - * <i>Description:</i> The email address you provided is associated with more than - * one account.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> - * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code:</i> AuthorizationHeaderMalformed</p> </li> <li> <p> - * <i>Description:</i> The authorization header you provided is invalid.</p> </li> - * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>HTTP - * Status Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * BadDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you specified - * did not match what we received.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 - * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> BucketAlreadyExists</p> </li> <li> - * <p> <i>Description:</i> The requested bucket name is not available. The bucket - * namespace is shared by all users of the system. Please select a different name - * and try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> - * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code:</i> BucketAlreadyOwnedByYou</p> </li> <li> <p> - * <i>Description:</i> The bucket you tried to create already exists, and you own - * it. Amazon S3 returns this error in all AWS Regions except in the North Virginia - * Region. For legacy compatibility, if you re-create an existing bucket that you - * already own in the North Virginia Region, Amazon S3 returns 200 OK and resets - * the bucket access control lists (ACLs).</p> </li> <li> <p> <i>Code:</i> 409 - * Conflict (in all Regions except the North Virginia Region) </p> </li> <li> <p> - * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>Code:</i> BucketNotEmpty</p> </li> <li> <p> <i>Description:</i> The bucket - * you tried to delete is not empty.</p> </li> <li> <p> <i>HTTP Status Code:</i> - * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * <li> <p> <i>Code:</i> BucketAlreadyExists</p> </li> <li> <p> <i>Description:</i> + * The requested bucket name is not available. The bucket namespace is shared by + * all users of the system. Please select a different name and try again.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * BucketAlreadyOwnedByYou</p> </li> <li> <p> <i>Description:</i> The bucket you + * tried to create already exists, and you own it. Amazon S3 returns this error in + * all Amazon Web Services Regions except in the North Virginia Region. For legacy + * compatibility, if you re-create an existing bucket that you already own in the + * North Virginia Region, Amazon S3 returns 200 OK and resets the bucket access + * control lists (ACLs).</p> </li> <li> <p> <i>Code:</i> 409 Conflict (in all + * Regions except the North Virginia Region) </p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * BucketNotEmpty</p> </li> <li> <p> <i>Description:</i> The bucket you tried to + * delete is not empty.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 + * Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> CredentialsNotSupported</p> </li> * <li> <p> <i>Description:</i> This request does not support credentials.</p> * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> @@ -562,33 +567,34 @@ namespace Model * again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 500 Internal Server Error</p> * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> * <ul> <li> <p> <i>Code:</i> InvalidAccessKeyId</p> </li> <li> <p> - * <i>Description:</i> The AWS access key ID you provided does not exist in our - * records.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> InvalidAddressingHeader</p> </li> <li> <p> - * <i>Description:</i> You must specify the Anonymous role.</p> </li> <li> <p> - * <i>HTTP Status Code:</i> N/A</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> - * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidArgument</p> - * </li> <li> <p> <i>Description:</i> Invalid Argument</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code - * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidBucketName</p> </li> <li> <p> <i>Description:</i> The specified bucket is - * not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> InvalidBucketState</p> </li> <li> <p> <i>Description:</i> - * The request is not valid with the current state of the bucket.</p> </li> <li> - * <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code + * <i>Description:</i> The Amazon Web Services access key ID you provided does not + * exist in our records.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidAddressingHeader</p> </li> + * <li> <p> <i>Description:</i> You must specify the Anonymous role.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> N/A</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you - * specified is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad - * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> - * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidEncryptionAlgorithmError</p> </li> - * <li> <p> <i>Description:</i> The encryption request you specified is not valid. - * The valid value is AES256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad - * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> - * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidLocationConstraint</p> </li> <li> - * <p> <i>Description:</i> The specified location constraint is not valid. For more - * information about Regions, see <a + * InvalidArgument</p> </li> <li> <p> <i>Description:</i> Invalid Argument</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> InvalidBucketName</p> </li> <li> <p> <i>Description:</i> The + * specified bucket is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidBucketState</p> </li> <li> + * <p> <i>Description:</i> The request is not valid with the current state of the + * bucket.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> InvalidDigest</p> </li> <li> <p> <i>Description:</i> The + * Content-MD5 you specified is not valid.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidEncryptionAlgorithmError</p> </li> <li> <p> <i>Description:</i> The + * encryption request you specified is not valid. The valid value is AES256.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> InvalidLocationConstraint</p> </li> <li> <p> <i>Description:</i> + * The specified location constraint is not valid. For more information about + * Regions, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">How * to Select a Region for Your Buckets</a>. </p> </li> <li> <p> <i>HTTP Status * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> @@ -607,11 +613,11 @@ namespace Model * number.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> * <li> <p> <i>Code:</i> InvalidPayer</p> </li> <li> <p> <i>Description:</i> All - * access to this object has been disabled. Please contact AWS Support for further - * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> InvalidPolicyDocument</p> </li> <li> <p> - * <i>Description:</i> The content of the form does not meet the conditions + * access to this object has been disabled. Please contact Amazon Web Services + * Support for further assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidPolicyDocument</p> </li> <li> + * <p> <i>Description:</i> The content of the form does not meet the conditions * specified in the policy document.</p> </li> <li> <p> <i>HTTP Status Code:</i> * 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRange</p> </li> <li> @@ -619,10 +625,10 @@ namespace Model * <p> <i>HTTP Status Code:</i> 416 Requested Range Not Satisfiable</p> </li> <li> * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> Please - * use AWS4-HMAC-SHA256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad - * Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> - * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> SOAP - * requests must be made over an HTTPS connection.</p> </li> <li> <p> <i>HTTP + * use <code>AWS4-HMAC-SHA256</code>.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> + * SOAP requests must be made over an HTTPS connection.</p> </li> <li> <p> <i>HTTP * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer @@ -645,44 +651,44 @@ namespace Model * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> * <i>Description:</i> Amazon S3 Transfer Acceleration is not supported on this - * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> - * <i>Description:</i> Amazon S3 Transfer Acceleration cannot be enabled on this - * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidSecurity</p> </li> <li> <p> - * <i>Description:</i> The provided security credentials are not valid.</p> </li> - * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault - * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidSOAPRequest</p> </li> <li> <p> <i>Description:</i> The SOAP request body - * is invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> - * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code:</i> InvalidStorageClass</p> </li> <li> <p> - * <i>Description:</i> The storage class you specified is not valid.</p> </li> <li> - * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault - * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidTargetBucketForLogging</p> </li> <li> <p> <i>Description:</i> The target - * bucket for logging does not exist, is not owned by you, or does not have the - * appropriate grants for the log-delivery group. </p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * bucket. Contact Amazon Web Services Support for more information.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> + * N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> + * </li> <li> <p> <i>Description:</i> Amazon S3 Transfer Acceleration cannot be + * enabled on this bucket. Contact Amazon Web Services Support for more + * information.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> InvalidSecurity</p> </li> <li> <p> <i>Description:</i> The provided + * security credentials are not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidSOAPRequest</p> </li> <li> + * <p> <i>Description:</i> The SOAP request body is invalid.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidToken</p> </li> <li> <p> <i>Description:</i> The provided token is - * malformed or otherwise invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 - * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidURI</p> </li> <li> <p> - * <i>Description:</i> Couldn't parse the specified URI.</p> </li> <li> <p> <i>HTTP + * InvalidStorageClass</p> </li> <li> <p> <i>Description:</i> The storage class you + * specified is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidTargetBucketForLogging</p> </li> + * <li> <p> <i>Description:</i> The target bucket for logging does not exist, is + * not owned by you, or does not have the appropriate grants for the log-delivery + * group. </p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidToken</p> </li> <li> <p> <i>Description:</i> The + * provided token is malformed or otherwise invalid.</p> </li> <li> <p> <i>HTTP * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * KeyTooLongError</p> </li> <li> <p> <i>Description:</i> Your key is too long.</p> - * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> - * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>Code:</i> MalformedACLError</p> </li> <li> <p> <i>Description:</i> The XML - * you provided was not well-formed or did not validate against our published - * schema.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> MalformedPOSTRequest </p> </li> <li> <p> - * <i>Description:</i> The body of your POST request is not well-formed + * InvalidURI</p> </li> <li> <p> <i>Description:</i> Couldn't parse the specified + * URI.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> KeyTooLongError</p> </li> <li> <p> <i>Description:</i> Your key + * is too long.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> MalformedACLError</p> </li> <li> <p> + * <i>Description:</i> The XML you provided was not well-formed or did not validate + * against our published schema.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> MalformedPOSTRequest </p> </li> <li> + * <p> <i>Description:</i> The body of your POST request is not well-formed * multipart/form-data.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> * </li> <li> <ul> <li> <p> <i>Code:</i> MalformedXML</p> </li> <li> <p> @@ -759,20 +765,21 @@ namespace Model * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotSignedUp</p> </li> <li> <p> * <i>Description:</i> Your account is not signed up for the Amazon S3 service. You * must sign up before you can use Amazon S3. You can sign up at the following URL: - * https://aws.amazon.com/s3</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 - * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> OperationAborted</p> </li> <li> <p> - * <i>Description:</i> A conflicting conditional action is currently in progress - * against this resource. Try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> - * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> PermanentRedirect</p> </li> <li> <p> - * <i>Description:</i> The bucket you are attempting to access must be addressed - * using the specified endpoint. Send all future requests to this endpoint.</p> - * </li> <li> <p> <i>HTTP Status Code:</i> 301 Moved Permanently</p> </li> <li> <p> - * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>Code:</i> PreconditionFailed</p> </li> <li> <p> <i>Description:</i> At least - * one of the preconditions you specified did not hold.</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 412 Precondition Failed</p> </li> <li> <p> <i>SOAP Fault Code + * <a href="http://aws.amazon.com/s3">Amazon S3</a> </p> </li> <li> <p> <i>HTTP + * Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * OperationAborted</p> </li> <li> <p> <i>Description:</i> A conflicting + * conditional action is currently in progress against this resource. Try + * again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> PermanentRedirect</p> </li> <li> <p> <i>Description:</i> The + * bucket you are attempting to access must be addressed using the specified + * endpoint. Send all future requests to this endpoint.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 301 Moved Permanently</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * PreconditionFailed</p> </li> <li> <p> <i>Description:</i> At least one of the + * preconditions you specified did not hold.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 412 Precondition Failed</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> * Redirect</p> </li> <li> <p> <i>Description:</i> Temporary redirect.</p> </li> * <li> <p> <i>HTTP Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p> @@ -799,7 +806,8 @@ namespace Model * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> * SignatureDoesNotMatch</p> </li> <li> <p> <i>Description:</i> The request * signature we calculated does not match the signature you provided. Check your - * AWS secret access key and signing method. For more information, see <a + * Amazon Web Services secret access key and signing method. For more information, + * see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST * Authentication</a> and <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/SOAPAuthentication.html">SOAP @@ -847,41 +855,42 @@ namespace Model * Access Denied</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> * <ul> <li> <p> <i>Code:</i> AccountProblem</p> </li> <li> <p> <i>Description:</i> - * There is a problem with your AWS account that prevents the action from - * completing successfully. Contact AWS Support for further assistance.</p> </li> - * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault + * There is a problem with your Amazon Web Services account that prevents the + * action from completing successfully. Contact Amazon Web Services Support for + * further assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> AllAccessDisabled</p> </li> <li> <p> + * <i>Description:</i> All access to this Amazon S3 resource has been disabled. + * Contact Amazon Web Services Support for further assistance.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * AmbiguousGrantByEmailAddress</p> </li> <li> <p> <i>Description:</i> The email + * address you provided is associated with more than one account.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * AllAccessDisabled</p> </li> <li> <p> <i>Description:</i> All access to this - * Amazon S3 resource has been disabled. Contact AWS Support for further - * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * AuthorizationHeaderMalformed</p> </li> <li> <p> <i>Description:</i> The + * authorization header you provided is invalid.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>HTTP Status Code:</i> N/A</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> BadDigest</p> </li> <li> <p> + * <i>Description:</i> The Content-MD5 you specified did not match what we + * received.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> AmbiguousGrantByEmailAddress</p> </li> <li> <p> - * <i>Description:</i> The email address you provided is associated with more than - * one account.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> - * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code:</i> AuthorizationHeaderMalformed</p> </li> <li> <p> - * <i>Description:</i> The authorization header you provided is invalid.</p> </li> - * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>HTTP - * Status Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * BadDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you specified - * did not match what we received.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 - * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> BucketAlreadyExists</p> </li> <li> - * <p> <i>Description:</i> The requested bucket name is not available. The bucket - * namespace is shared by all users of the system. Please select a different name - * and try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> - * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code:</i> BucketAlreadyOwnedByYou</p> </li> <li> <p> - * <i>Description:</i> The bucket you tried to create already exists, and you own - * it. Amazon S3 returns this error in all AWS Regions except in the North Virginia - * Region. For legacy compatibility, if you re-create an existing bucket that you - * already own in the North Virginia Region, Amazon S3 returns 200 OK and resets - * the bucket access control lists (ACLs).</p> </li> <li> <p> <i>Code:</i> 409 - * Conflict (in all Regions except the North Virginia Region) </p> </li> <li> <p> - * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>Code:</i> BucketNotEmpty</p> </li> <li> <p> <i>Description:</i> The bucket - * you tried to delete is not empty.</p> </li> <li> <p> <i>HTTP Status Code:</i> - * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * <li> <p> <i>Code:</i> BucketAlreadyExists</p> </li> <li> <p> <i>Description:</i> + * The requested bucket name is not available. The bucket namespace is shared by + * all users of the system. Please select a different name and try again.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * BucketAlreadyOwnedByYou</p> </li> <li> <p> <i>Description:</i> The bucket you + * tried to create already exists, and you own it. Amazon S3 returns this error in + * all Amazon Web Services Regions except in the North Virginia Region. For legacy + * compatibility, if you re-create an existing bucket that you already own in the + * North Virginia Region, Amazon S3 returns 200 OK and resets the bucket access + * control lists (ACLs).</p> </li> <li> <p> <i>Code:</i> 409 Conflict (in all + * Regions except the North Virginia Region) </p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * BucketNotEmpty</p> </li> <li> <p> <i>Description:</i> The bucket you tried to + * delete is not empty.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 + * Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> CredentialsNotSupported</p> </li> * <li> <p> <i>Description:</i> This request does not support credentials.</p> * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> @@ -922,33 +931,34 @@ namespace Model * again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 500 Internal Server Error</p> * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> * <ul> <li> <p> <i>Code:</i> InvalidAccessKeyId</p> </li> <li> <p> - * <i>Description:</i> The AWS access key ID you provided does not exist in our - * records.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> InvalidAddressingHeader</p> </li> <li> <p> - * <i>Description:</i> You must specify the Anonymous role.</p> </li> <li> <p> - * <i>HTTP Status Code:</i> N/A</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> - * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidArgument</p> - * </li> <li> <p> <i>Description:</i> Invalid Argument</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code - * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidBucketName</p> </li> <li> <p> <i>Description:</i> The specified bucket is - * not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> InvalidBucketState</p> </li> <li> <p> <i>Description:</i> - * The request is not valid with the current state of the bucket.</p> </li> <li> - * <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code + * <i>Description:</i> The Amazon Web Services access key ID you provided does not + * exist in our records.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidAddressingHeader</p> </li> + * <li> <p> <i>Description:</i> You must specify the Anonymous role.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> N/A</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you - * specified is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad - * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> - * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidEncryptionAlgorithmError</p> </li> - * <li> <p> <i>Description:</i> The encryption request you specified is not valid. - * The valid value is AES256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad - * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> - * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidLocationConstraint</p> </li> <li> - * <p> <i>Description:</i> The specified location constraint is not valid. For more - * information about Regions, see <a + * InvalidArgument</p> </li> <li> <p> <i>Description:</i> Invalid Argument</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> InvalidBucketName</p> </li> <li> <p> <i>Description:</i> The + * specified bucket is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidBucketState</p> </li> <li> + * <p> <i>Description:</i> The request is not valid with the current state of the + * bucket.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> InvalidDigest</p> </li> <li> <p> <i>Description:</i> The + * Content-MD5 you specified is not valid.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidEncryptionAlgorithmError</p> </li> <li> <p> <i>Description:</i> The + * encryption request you specified is not valid. The valid value is AES256.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> InvalidLocationConstraint</p> </li> <li> <p> <i>Description:</i> + * The specified location constraint is not valid. For more information about + * Regions, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">How * to Select a Region for Your Buckets</a>. </p> </li> <li> <p> <i>HTTP Status * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> @@ -967,11 +977,11 @@ namespace Model * number.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> * <li> <p> <i>Code:</i> InvalidPayer</p> </li> <li> <p> <i>Description:</i> All - * access to this object has been disabled. Please contact AWS Support for further - * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> InvalidPolicyDocument</p> </li> <li> <p> - * <i>Description:</i> The content of the form does not meet the conditions + * access to this object has been disabled. Please contact Amazon Web Services + * Support for further assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidPolicyDocument</p> </li> <li> + * <p> <i>Description:</i> The content of the form does not meet the conditions * specified in the policy document.</p> </li> <li> <p> <i>HTTP Status Code:</i> * 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRange</p> </li> <li> @@ -979,10 +989,10 @@ namespace Model * <p> <i>HTTP Status Code:</i> 416 Requested Range Not Satisfiable</p> </li> <li> * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> Please - * use AWS4-HMAC-SHA256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad - * Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> - * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> SOAP - * requests must be made over an HTTPS connection.</p> </li> <li> <p> <i>HTTP + * use <code>AWS4-HMAC-SHA256</code>.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> + * SOAP requests must be made over an HTTPS connection.</p> </li> <li> <p> <i>HTTP * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer @@ -1005,44 +1015,44 @@ namespace Model * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> * <i>Description:</i> Amazon S3 Transfer Acceleration is not supported on this - * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> - * <i>Description:</i> Amazon S3 Transfer Acceleration cannot be enabled on this - * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidSecurity</p> </li> <li> <p> - * <i>Description:</i> The provided security credentials are not valid.</p> </li> - * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault - * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidSOAPRequest</p> </li> <li> <p> <i>Description:</i> The SOAP request body - * is invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> - * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code:</i> InvalidStorageClass</p> </li> <li> <p> - * <i>Description:</i> The storage class you specified is not valid.</p> </li> <li> - * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault - * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidTargetBucketForLogging</p> </li> <li> <p> <i>Description:</i> The target - * bucket for logging does not exist, is not owned by you, or does not have the - * appropriate grants for the log-delivery group. </p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * bucket. Contact Amazon Web Services Support for more information.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> + * N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> + * </li> <li> <p> <i>Description:</i> Amazon S3 Transfer Acceleration cannot be + * enabled on this bucket. Contact Amazon Web Services Support for more + * information.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> InvalidSecurity</p> </li> <li> <p> <i>Description:</i> The provided + * security credentials are not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidSOAPRequest</p> </li> <li> + * <p> <i>Description:</i> The SOAP request body is invalid.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidToken</p> </li> <li> <p> <i>Description:</i> The provided token is - * malformed or otherwise invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 - * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidURI</p> </li> <li> <p> - * <i>Description:</i> Couldn't parse the specified URI.</p> </li> <li> <p> <i>HTTP + * InvalidStorageClass</p> </li> <li> <p> <i>Description:</i> The storage class you + * specified is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidTargetBucketForLogging</p> </li> + * <li> <p> <i>Description:</i> The target bucket for logging does not exist, is + * not owned by you, or does not have the appropriate grants for the log-delivery + * group. </p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidToken</p> </li> <li> <p> <i>Description:</i> The + * provided token is malformed or otherwise invalid.</p> </li> <li> <p> <i>HTTP * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * KeyTooLongError</p> </li> <li> <p> <i>Description:</i> Your key is too long.</p> - * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> - * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>Code:</i> MalformedACLError</p> </li> <li> <p> <i>Description:</i> The XML - * you provided was not well-formed or did not validate against our published - * schema.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> MalformedPOSTRequest </p> </li> <li> <p> - * <i>Description:</i> The body of your POST request is not well-formed + * InvalidURI</p> </li> <li> <p> <i>Description:</i> Couldn't parse the specified + * URI.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> KeyTooLongError</p> </li> <li> <p> <i>Description:</i> Your key + * is too long.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> MalformedACLError</p> </li> <li> <p> + * <i>Description:</i> The XML you provided was not well-formed or did not validate + * against our published schema.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> MalformedPOSTRequest </p> </li> <li> + * <p> <i>Description:</i> The body of your POST request is not well-formed * multipart/form-data.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> * </li> <li> <ul> <li> <p> <i>Code:</i> MalformedXML</p> </li> <li> <p> @@ -1119,20 +1129,21 @@ namespace Model * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotSignedUp</p> </li> <li> <p> * <i>Description:</i> Your account is not signed up for the Amazon S3 service. You * must sign up before you can use Amazon S3. You can sign up at the following URL: - * https://aws.amazon.com/s3</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 - * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> OperationAborted</p> </li> <li> <p> - * <i>Description:</i> A conflicting conditional action is currently in progress - * against this resource. Try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> - * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> PermanentRedirect</p> </li> <li> <p> - * <i>Description:</i> The bucket you are attempting to access must be addressed - * using the specified endpoint. Send all future requests to this endpoint.</p> - * </li> <li> <p> <i>HTTP Status Code:</i> 301 Moved Permanently</p> </li> <li> <p> - * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>Code:</i> PreconditionFailed</p> </li> <li> <p> <i>Description:</i> At least - * one of the preconditions you specified did not hold.</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 412 Precondition Failed</p> </li> <li> <p> <i>SOAP Fault Code + * <a href="http://aws.amazon.com/s3">Amazon S3</a> </p> </li> <li> <p> <i>HTTP + * Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * OperationAborted</p> </li> <li> <p> <i>Description:</i> A conflicting + * conditional action is currently in progress against this resource. Try + * again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> PermanentRedirect</p> </li> <li> <p> <i>Description:</i> The + * bucket you are attempting to access must be addressed using the specified + * endpoint. Send all future requests to this endpoint.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 301 Moved Permanently</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * PreconditionFailed</p> </li> <li> <p> <i>Description:</i> At least one of the + * preconditions you specified did not hold.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 412 Precondition Failed</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> * Redirect</p> </li> <li> <p> <i>Description:</i> Temporary redirect.</p> </li> * <li> <p> <i>HTTP Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p> @@ -1159,7 +1170,8 @@ namespace Model * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> * SignatureDoesNotMatch</p> </li> <li> <p> <i>Description:</i> The request * signature we calculated does not match the signature you provided. Check your - * AWS secret access key and signing method. For more information, see <a + * Amazon Web Services secret access key and signing method. For more information, + * see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST * Authentication</a> and <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/SOAPAuthentication.html">SOAP @@ -1207,41 +1219,42 @@ namespace Model * Access Denied</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> * <ul> <li> <p> <i>Code:</i> AccountProblem</p> </li> <li> <p> <i>Description:</i> - * There is a problem with your AWS account that prevents the action from - * completing successfully. Contact AWS Support for further assistance.</p> </li> - * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault + * There is a problem with your Amazon Web Services account that prevents the + * action from completing successfully. Contact Amazon Web Services Support for + * further assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> AllAccessDisabled</p> </li> <li> <p> + * <i>Description:</i> All access to this Amazon S3 resource has been disabled. + * Contact Amazon Web Services Support for further assistance.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * AmbiguousGrantByEmailAddress</p> </li> <li> <p> <i>Description:</i> The email + * address you provided is associated with more than one account.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * AllAccessDisabled</p> </li> <li> <p> <i>Description:</i> All access to this - * Amazon S3 resource has been disabled. Contact AWS Support for further - * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * AuthorizationHeaderMalformed</p> </li> <li> <p> <i>Description:</i> The + * authorization header you provided is invalid.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>HTTP Status Code:</i> N/A</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> BadDigest</p> </li> <li> <p> + * <i>Description:</i> The Content-MD5 you specified did not match what we + * received.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> AmbiguousGrantByEmailAddress</p> </li> <li> <p> - * <i>Description:</i> The email address you provided is associated with more than - * one account.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> - * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code:</i> AuthorizationHeaderMalformed</p> </li> <li> <p> - * <i>Description:</i> The authorization header you provided is invalid.</p> </li> - * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>HTTP - * Status Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * BadDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you specified - * did not match what we received.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 - * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> BucketAlreadyExists</p> </li> <li> - * <p> <i>Description:</i> The requested bucket name is not available. The bucket - * namespace is shared by all users of the system. Please select a different name - * and try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> - * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code:</i> BucketAlreadyOwnedByYou</p> </li> <li> <p> - * <i>Description:</i> The bucket you tried to create already exists, and you own - * it. Amazon S3 returns this error in all AWS Regions except in the North Virginia - * Region. For legacy compatibility, if you re-create an existing bucket that you - * already own in the North Virginia Region, Amazon S3 returns 200 OK and resets - * the bucket access control lists (ACLs).</p> </li> <li> <p> <i>Code:</i> 409 - * Conflict (in all Regions except the North Virginia Region) </p> </li> <li> <p> - * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>Code:</i> BucketNotEmpty</p> </li> <li> <p> <i>Description:</i> The bucket - * you tried to delete is not empty.</p> </li> <li> <p> <i>HTTP Status Code:</i> - * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * <li> <p> <i>Code:</i> BucketAlreadyExists</p> </li> <li> <p> <i>Description:</i> + * The requested bucket name is not available. The bucket namespace is shared by + * all users of the system. Please select a different name and try again.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * BucketAlreadyOwnedByYou</p> </li> <li> <p> <i>Description:</i> The bucket you + * tried to create already exists, and you own it. Amazon S3 returns this error in + * all Amazon Web Services Regions except in the North Virginia Region. For legacy + * compatibility, if you re-create an existing bucket that you already own in the + * North Virginia Region, Amazon S3 returns 200 OK and resets the bucket access + * control lists (ACLs).</p> </li> <li> <p> <i>Code:</i> 409 Conflict (in all + * Regions except the North Virginia Region) </p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * BucketNotEmpty</p> </li> <li> <p> <i>Description:</i> The bucket you tried to + * delete is not empty.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 + * Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> CredentialsNotSupported</p> </li> * <li> <p> <i>Description:</i> This request does not support credentials.</p> * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> @@ -1282,33 +1295,34 @@ namespace Model * again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 500 Internal Server Error</p> * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> * <ul> <li> <p> <i>Code:</i> InvalidAccessKeyId</p> </li> <li> <p> - * <i>Description:</i> The AWS access key ID you provided does not exist in our - * records.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> InvalidAddressingHeader</p> </li> <li> <p> - * <i>Description:</i> You must specify the Anonymous role.</p> </li> <li> <p> - * <i>HTTP Status Code:</i> N/A</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> - * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidArgument</p> - * </li> <li> <p> <i>Description:</i> Invalid Argument</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code - * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidBucketName</p> </li> <li> <p> <i>Description:</i> The specified bucket is - * not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> InvalidBucketState</p> </li> <li> <p> <i>Description:</i> - * The request is not valid with the current state of the bucket.</p> </li> <li> - * <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code + * <i>Description:</i> The Amazon Web Services access key ID you provided does not + * exist in our records.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidAddressingHeader</p> </li> + * <li> <p> <i>Description:</i> You must specify the Anonymous role.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> N/A</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you - * specified is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad - * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> - * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidEncryptionAlgorithmError</p> </li> - * <li> <p> <i>Description:</i> The encryption request you specified is not valid. - * The valid value is AES256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad - * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> - * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidLocationConstraint</p> </li> <li> - * <p> <i>Description:</i> The specified location constraint is not valid. For more - * information about Regions, see <a + * InvalidArgument</p> </li> <li> <p> <i>Description:</i> Invalid Argument</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> InvalidBucketName</p> </li> <li> <p> <i>Description:</i> The + * specified bucket is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidBucketState</p> </li> <li> + * <p> <i>Description:</i> The request is not valid with the current state of the + * bucket.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> InvalidDigest</p> </li> <li> <p> <i>Description:</i> The + * Content-MD5 you specified is not valid.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidEncryptionAlgorithmError</p> </li> <li> <p> <i>Description:</i> The + * encryption request you specified is not valid. The valid value is AES256.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> InvalidLocationConstraint</p> </li> <li> <p> <i>Description:</i> + * The specified location constraint is not valid. For more information about + * Regions, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">How * to Select a Region for Your Buckets</a>. </p> </li> <li> <p> <i>HTTP Status * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> @@ -1327,11 +1341,11 @@ namespace Model * number.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> * <li> <p> <i>Code:</i> InvalidPayer</p> </li> <li> <p> <i>Description:</i> All - * access to this object has been disabled. Please contact AWS Support for further - * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> InvalidPolicyDocument</p> </li> <li> <p> - * <i>Description:</i> The content of the form does not meet the conditions + * access to this object has been disabled. Please contact Amazon Web Services + * Support for further assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidPolicyDocument</p> </li> <li> + * <p> <i>Description:</i> The content of the form does not meet the conditions * specified in the policy document.</p> </li> <li> <p> <i>HTTP Status Code:</i> * 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRange</p> </li> <li> @@ -1339,10 +1353,10 @@ namespace Model * <p> <i>HTTP Status Code:</i> 416 Requested Range Not Satisfiable</p> </li> <li> * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> Please - * use AWS4-HMAC-SHA256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad - * Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> - * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> SOAP - * requests must be made over an HTTPS connection.</p> </li> <li> <p> <i>HTTP + * use <code>AWS4-HMAC-SHA256</code>.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> + * SOAP requests must be made over an HTTPS connection.</p> </li> <li> <p> <i>HTTP * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer @@ -1365,44 +1379,44 @@ namespace Model * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> * <i>Description:</i> Amazon S3 Transfer Acceleration is not supported on this - * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> - * <i>Description:</i> Amazon S3 Transfer Acceleration cannot be enabled on this - * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidSecurity</p> </li> <li> <p> - * <i>Description:</i> The provided security credentials are not valid.</p> </li> - * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault - * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidSOAPRequest</p> </li> <li> <p> <i>Description:</i> The SOAP request body - * is invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> - * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code:</i> InvalidStorageClass</p> </li> <li> <p> - * <i>Description:</i> The storage class you specified is not valid.</p> </li> <li> - * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault - * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidTargetBucketForLogging</p> </li> <li> <p> <i>Description:</i> The target - * bucket for logging does not exist, is not owned by you, or does not have the - * appropriate grants for the log-delivery group. </p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * bucket. Contact Amazon Web Services Support for more information.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> + * N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> + * </li> <li> <p> <i>Description:</i> Amazon S3 Transfer Acceleration cannot be + * enabled on this bucket. Contact Amazon Web Services Support for more + * information.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> InvalidSecurity</p> </li> <li> <p> <i>Description:</i> The provided + * security credentials are not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidSOAPRequest</p> </li> <li> + * <p> <i>Description:</i> The SOAP request body is invalid.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidToken</p> </li> <li> <p> <i>Description:</i> The provided token is - * malformed or otherwise invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 - * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidURI</p> </li> <li> <p> - * <i>Description:</i> Couldn't parse the specified URI.</p> </li> <li> <p> <i>HTTP + * InvalidStorageClass</p> </li> <li> <p> <i>Description:</i> The storage class you + * specified is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidTargetBucketForLogging</p> </li> + * <li> <p> <i>Description:</i> The target bucket for logging does not exist, is + * not owned by you, or does not have the appropriate grants for the log-delivery + * group. </p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidToken</p> </li> <li> <p> <i>Description:</i> The + * provided token is malformed or otherwise invalid.</p> </li> <li> <p> <i>HTTP * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * KeyTooLongError</p> </li> <li> <p> <i>Description:</i> Your key is too long.</p> - * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> - * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>Code:</i> MalformedACLError</p> </li> <li> <p> <i>Description:</i> The XML - * you provided was not well-formed or did not validate against our published - * schema.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> MalformedPOSTRequest </p> </li> <li> <p> - * <i>Description:</i> The body of your POST request is not well-formed + * InvalidURI</p> </li> <li> <p> <i>Description:</i> Couldn't parse the specified + * URI.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> KeyTooLongError</p> </li> <li> <p> <i>Description:</i> Your key + * is too long.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> MalformedACLError</p> </li> <li> <p> + * <i>Description:</i> The XML you provided was not well-formed or did not validate + * against our published schema.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> MalformedPOSTRequest </p> </li> <li> + * <p> <i>Description:</i> The body of your POST request is not well-formed * multipart/form-data.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> * </li> <li> <ul> <li> <p> <i>Code:</i> MalformedXML</p> </li> <li> <p> @@ -1479,20 +1493,21 @@ namespace Model * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotSignedUp</p> </li> <li> <p> * <i>Description:</i> Your account is not signed up for the Amazon S3 service. You * must sign up before you can use Amazon S3. You can sign up at the following URL: - * https://aws.amazon.com/s3</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 - * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> OperationAborted</p> </li> <li> <p> - * <i>Description:</i> A conflicting conditional action is currently in progress - * against this resource. Try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> - * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> PermanentRedirect</p> </li> <li> <p> - * <i>Description:</i> The bucket you are attempting to access must be addressed - * using the specified endpoint. Send all future requests to this endpoint.</p> - * </li> <li> <p> <i>HTTP Status Code:</i> 301 Moved Permanently</p> </li> <li> <p> - * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>Code:</i> PreconditionFailed</p> </li> <li> <p> <i>Description:</i> At least - * one of the preconditions you specified did not hold.</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 412 Precondition Failed</p> </li> <li> <p> <i>SOAP Fault Code + * <a href="http://aws.amazon.com/s3">Amazon S3</a> </p> </li> <li> <p> <i>HTTP + * Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * OperationAborted</p> </li> <li> <p> <i>Description:</i> A conflicting + * conditional action is currently in progress against this resource. Try + * again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> PermanentRedirect</p> </li> <li> <p> <i>Description:</i> The + * bucket you are attempting to access must be addressed using the specified + * endpoint. Send all future requests to this endpoint.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 301 Moved Permanently</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * PreconditionFailed</p> </li> <li> <p> <i>Description:</i> At least one of the + * preconditions you specified did not hold.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 412 Precondition Failed</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> * Redirect</p> </li> <li> <p> <i>Description:</i> Temporary redirect.</p> </li> * <li> <p> <i>HTTP Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p> @@ -1519,7 +1534,8 @@ namespace Model * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> * SignatureDoesNotMatch</p> </li> <li> <p> <i>Description:</i> The request * signature we calculated does not match the signature you provided. Check your - * AWS secret access key and signing method. For more information, see <a + * Amazon Web Services secret access key and signing method. For more information, + * see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST * Authentication</a> and <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/SOAPAuthentication.html">SOAP @@ -1567,41 +1583,42 @@ namespace Model * Access Denied</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> * <ul> <li> <p> <i>Code:</i> AccountProblem</p> </li> <li> <p> <i>Description:</i> - * There is a problem with your AWS account that prevents the action from - * completing successfully. Contact AWS Support for further assistance.</p> </li> - * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault + * There is a problem with your Amazon Web Services account that prevents the + * action from completing successfully. Contact Amazon Web Services Support for + * further assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> AllAccessDisabled</p> </li> <li> <p> + * <i>Description:</i> All access to this Amazon S3 resource has been disabled. + * Contact Amazon Web Services Support for further assistance.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * AmbiguousGrantByEmailAddress</p> </li> <li> <p> <i>Description:</i> The email + * address you provided is associated with more than one account.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * AllAccessDisabled</p> </li> <li> <p> <i>Description:</i> All access to this - * Amazon S3 resource has been disabled. Contact AWS Support for further - * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * AuthorizationHeaderMalformed</p> </li> <li> <p> <i>Description:</i> The + * authorization header you provided is invalid.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>HTTP Status Code:</i> N/A</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> BadDigest</p> </li> <li> <p> + * <i>Description:</i> The Content-MD5 you specified did not match what we + * received.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> AmbiguousGrantByEmailAddress</p> </li> <li> <p> - * <i>Description:</i> The email address you provided is associated with more than - * one account.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> - * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code:</i> AuthorizationHeaderMalformed</p> </li> <li> <p> - * <i>Description:</i> The authorization header you provided is invalid.</p> </li> - * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>HTTP - * Status Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * BadDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you specified - * did not match what we received.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 - * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> BucketAlreadyExists</p> </li> <li> - * <p> <i>Description:</i> The requested bucket name is not available. The bucket - * namespace is shared by all users of the system. Please select a different name - * and try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> - * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code:</i> BucketAlreadyOwnedByYou</p> </li> <li> <p> - * <i>Description:</i> The bucket you tried to create already exists, and you own - * it. Amazon S3 returns this error in all AWS Regions except in the North Virginia - * Region. For legacy compatibility, if you re-create an existing bucket that you - * already own in the North Virginia Region, Amazon S3 returns 200 OK and resets - * the bucket access control lists (ACLs).</p> </li> <li> <p> <i>Code:</i> 409 - * Conflict (in all Regions except the North Virginia Region) </p> </li> <li> <p> - * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>Code:</i> BucketNotEmpty</p> </li> <li> <p> <i>Description:</i> The bucket - * you tried to delete is not empty.</p> </li> <li> <p> <i>HTTP Status Code:</i> - * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * <li> <p> <i>Code:</i> BucketAlreadyExists</p> </li> <li> <p> <i>Description:</i> + * The requested bucket name is not available. The bucket namespace is shared by + * all users of the system. Please select a different name and try again.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * BucketAlreadyOwnedByYou</p> </li> <li> <p> <i>Description:</i> The bucket you + * tried to create already exists, and you own it. Amazon S3 returns this error in + * all Amazon Web Services Regions except in the North Virginia Region. For legacy + * compatibility, if you re-create an existing bucket that you already own in the + * North Virginia Region, Amazon S3 returns 200 OK and resets the bucket access + * control lists (ACLs).</p> </li> <li> <p> <i>Code:</i> 409 Conflict (in all + * Regions except the North Virginia Region) </p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * BucketNotEmpty</p> </li> <li> <p> <i>Description:</i> The bucket you tried to + * delete is not empty.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 + * Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> CredentialsNotSupported</p> </li> * <li> <p> <i>Description:</i> This request does not support credentials.</p> * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> @@ -1642,33 +1659,34 @@ namespace Model * again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 500 Internal Server Error</p> * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> * <ul> <li> <p> <i>Code:</i> InvalidAccessKeyId</p> </li> <li> <p> - * <i>Description:</i> The AWS access key ID you provided does not exist in our - * records.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> InvalidAddressingHeader</p> </li> <li> <p> - * <i>Description:</i> You must specify the Anonymous role.</p> </li> <li> <p> - * <i>HTTP Status Code:</i> N/A</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> - * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidArgument</p> - * </li> <li> <p> <i>Description:</i> Invalid Argument</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code - * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidBucketName</p> </li> <li> <p> <i>Description:</i> The specified bucket is - * not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> InvalidBucketState</p> </li> <li> <p> <i>Description:</i> - * The request is not valid with the current state of the bucket.</p> </li> <li> - * <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code + * <i>Description:</i> The Amazon Web Services access key ID you provided does not + * exist in our records.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidAddressingHeader</p> </li> + * <li> <p> <i>Description:</i> You must specify the Anonymous role.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> N/A</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you - * specified is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad - * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> - * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidEncryptionAlgorithmError</p> </li> - * <li> <p> <i>Description:</i> The encryption request you specified is not valid. - * The valid value is AES256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad - * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> - * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidLocationConstraint</p> </li> <li> - * <p> <i>Description:</i> The specified location constraint is not valid. For more - * information about Regions, see <a + * InvalidArgument</p> </li> <li> <p> <i>Description:</i> Invalid Argument</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> InvalidBucketName</p> </li> <li> <p> <i>Description:</i> The + * specified bucket is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidBucketState</p> </li> <li> + * <p> <i>Description:</i> The request is not valid with the current state of the + * bucket.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> InvalidDigest</p> </li> <li> <p> <i>Description:</i> The + * Content-MD5 you specified is not valid.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidEncryptionAlgorithmError</p> </li> <li> <p> <i>Description:</i> The + * encryption request you specified is not valid. The valid value is AES256.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> InvalidLocationConstraint</p> </li> <li> <p> <i>Description:</i> + * The specified location constraint is not valid. For more information about + * Regions, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">How * to Select a Region for Your Buckets</a>. </p> </li> <li> <p> <i>HTTP Status * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> @@ -1687,11 +1705,11 @@ namespace Model * number.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> * <li> <p> <i>Code:</i> InvalidPayer</p> </li> <li> <p> <i>Description:</i> All - * access to this object has been disabled. Please contact AWS Support for further - * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> InvalidPolicyDocument</p> </li> <li> <p> - * <i>Description:</i> The content of the form does not meet the conditions + * access to this object has been disabled. Please contact Amazon Web Services + * Support for further assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidPolicyDocument</p> </li> <li> + * <p> <i>Description:</i> The content of the form does not meet the conditions * specified in the policy document.</p> </li> <li> <p> <i>HTTP Status Code:</i> * 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRange</p> </li> <li> @@ -1699,10 +1717,10 @@ namespace Model * <p> <i>HTTP Status Code:</i> 416 Requested Range Not Satisfiable</p> </li> <li> * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> Please - * use AWS4-HMAC-SHA256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad - * Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> - * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> SOAP - * requests must be made over an HTTPS connection.</p> </li> <li> <p> <i>HTTP + * use <code>AWS4-HMAC-SHA256</code>.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> + * SOAP requests must be made over an HTTPS connection.</p> </li> <li> <p> <i>HTTP * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer @@ -1725,44 +1743,44 @@ namespace Model * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> * <i>Description:</i> Amazon S3 Transfer Acceleration is not supported on this - * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> - * <i>Description:</i> Amazon S3 Transfer Acceleration cannot be enabled on this - * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidSecurity</p> </li> <li> <p> - * <i>Description:</i> The provided security credentials are not valid.</p> </li> - * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault - * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidSOAPRequest</p> </li> <li> <p> <i>Description:</i> The SOAP request body - * is invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> - * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code:</i> InvalidStorageClass</p> </li> <li> <p> - * <i>Description:</i> The storage class you specified is not valid.</p> </li> <li> - * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault - * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidTargetBucketForLogging</p> </li> <li> <p> <i>Description:</i> The target - * bucket for logging does not exist, is not owned by you, or does not have the - * appropriate grants for the log-delivery group. </p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * bucket. Contact Amazon Web Services Support for more information.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> + * N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> + * </li> <li> <p> <i>Description:</i> Amazon S3 Transfer Acceleration cannot be + * enabled on this bucket. Contact Amazon Web Services Support for more + * information.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> InvalidSecurity</p> </li> <li> <p> <i>Description:</i> The provided + * security credentials are not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidSOAPRequest</p> </li> <li> + * <p> <i>Description:</i> The SOAP request body is invalid.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidToken</p> </li> <li> <p> <i>Description:</i> The provided token is - * malformed or otherwise invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 - * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidURI</p> </li> <li> <p> - * <i>Description:</i> Couldn't parse the specified URI.</p> </li> <li> <p> <i>HTTP + * InvalidStorageClass</p> </li> <li> <p> <i>Description:</i> The storage class you + * specified is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidTargetBucketForLogging</p> </li> + * <li> <p> <i>Description:</i> The target bucket for logging does not exist, is + * not owned by you, or does not have the appropriate grants for the log-delivery + * group. </p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidToken</p> </li> <li> <p> <i>Description:</i> The + * provided token is malformed or otherwise invalid.</p> </li> <li> <p> <i>HTTP * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * KeyTooLongError</p> </li> <li> <p> <i>Description:</i> Your key is too long.</p> - * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> - * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>Code:</i> MalformedACLError</p> </li> <li> <p> <i>Description:</i> The XML - * you provided was not well-formed or did not validate against our published - * schema.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> MalformedPOSTRequest </p> </li> <li> <p> - * <i>Description:</i> The body of your POST request is not well-formed + * InvalidURI</p> </li> <li> <p> <i>Description:</i> Couldn't parse the specified + * URI.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> KeyTooLongError</p> </li> <li> <p> <i>Description:</i> Your key + * is too long.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> MalformedACLError</p> </li> <li> <p> + * <i>Description:</i> The XML you provided was not well-formed or did not validate + * against our published schema.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> MalformedPOSTRequest </p> </li> <li> + * <p> <i>Description:</i> The body of your POST request is not well-formed * multipart/form-data.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> * </li> <li> <ul> <li> <p> <i>Code:</i> MalformedXML</p> </li> <li> <p> @@ -1839,20 +1857,21 @@ namespace Model * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotSignedUp</p> </li> <li> <p> * <i>Description:</i> Your account is not signed up for the Amazon S3 service. You * must sign up before you can use Amazon S3. You can sign up at the following URL: - * https://aws.amazon.com/s3</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 - * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> OperationAborted</p> </li> <li> <p> - * <i>Description:</i> A conflicting conditional action is currently in progress - * against this resource. Try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> - * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> PermanentRedirect</p> </li> <li> <p> - * <i>Description:</i> The bucket you are attempting to access must be addressed - * using the specified endpoint. Send all future requests to this endpoint.</p> - * </li> <li> <p> <i>HTTP Status Code:</i> 301 Moved Permanently</p> </li> <li> <p> - * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>Code:</i> PreconditionFailed</p> </li> <li> <p> <i>Description:</i> At least - * one of the preconditions you specified did not hold.</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 412 Precondition Failed</p> </li> <li> <p> <i>SOAP Fault Code + * <a href="http://aws.amazon.com/s3">Amazon S3</a> </p> </li> <li> <p> <i>HTTP + * Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * OperationAborted</p> </li> <li> <p> <i>Description:</i> A conflicting + * conditional action is currently in progress against this resource. Try + * again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> PermanentRedirect</p> </li> <li> <p> <i>Description:</i> The + * bucket you are attempting to access must be addressed using the specified + * endpoint. Send all future requests to this endpoint.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 301 Moved Permanently</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * PreconditionFailed</p> </li> <li> <p> <i>Description:</i> At least one of the + * preconditions you specified did not hold.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 412 Precondition Failed</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> * Redirect</p> </li> <li> <p> <i>Description:</i> Temporary redirect.</p> </li> * <li> <p> <i>HTTP Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p> @@ -1879,7 +1898,8 @@ namespace Model * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> * SignatureDoesNotMatch</p> </li> <li> <p> <i>Description:</i> The request * signature we calculated does not match the signature you provided. Check your - * AWS secret access key and signing method. For more information, see <a + * Amazon Web Services secret access key and signing method. For more information, + * see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST * Authentication</a> and <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/SOAPAuthentication.html">SOAP @@ -1927,41 +1947,42 @@ namespace Model * Access Denied</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> * <ul> <li> <p> <i>Code:</i> AccountProblem</p> </li> <li> <p> <i>Description:</i> - * There is a problem with your AWS account that prevents the action from - * completing successfully. Contact AWS Support for further assistance.</p> </li> - * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault + * There is a problem with your Amazon Web Services account that prevents the + * action from completing successfully. Contact Amazon Web Services Support for + * further assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> AllAccessDisabled</p> </li> <li> <p> + * <i>Description:</i> All access to this Amazon S3 resource has been disabled. + * Contact Amazon Web Services Support for further assistance.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * AmbiguousGrantByEmailAddress</p> </li> <li> <p> <i>Description:</i> The email + * address you provided is associated with more than one account.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * AllAccessDisabled</p> </li> <li> <p> <i>Description:</i> All access to this - * Amazon S3 resource has been disabled. Contact AWS Support for further - * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * AuthorizationHeaderMalformed</p> </li> <li> <p> <i>Description:</i> The + * authorization header you provided is invalid.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>HTTP Status Code:</i> N/A</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> BadDigest</p> </li> <li> <p> + * <i>Description:</i> The Content-MD5 you specified did not match what we + * received.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> AmbiguousGrantByEmailAddress</p> </li> <li> <p> - * <i>Description:</i> The email address you provided is associated with more than - * one account.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> - * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code:</i> AuthorizationHeaderMalformed</p> </li> <li> <p> - * <i>Description:</i> The authorization header you provided is invalid.</p> </li> - * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>HTTP - * Status Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * BadDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you specified - * did not match what we received.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 - * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> BucketAlreadyExists</p> </li> <li> - * <p> <i>Description:</i> The requested bucket name is not available. The bucket - * namespace is shared by all users of the system. Please select a different name - * and try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> - * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code:</i> BucketAlreadyOwnedByYou</p> </li> <li> <p> - * <i>Description:</i> The bucket you tried to create already exists, and you own - * it. Amazon S3 returns this error in all AWS Regions except in the North Virginia - * Region. For legacy compatibility, if you re-create an existing bucket that you - * already own in the North Virginia Region, Amazon S3 returns 200 OK and resets - * the bucket access control lists (ACLs).</p> </li> <li> <p> <i>Code:</i> 409 - * Conflict (in all Regions except the North Virginia Region) </p> </li> <li> <p> - * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>Code:</i> BucketNotEmpty</p> </li> <li> <p> <i>Description:</i> The bucket - * you tried to delete is not empty.</p> </li> <li> <p> <i>HTTP Status Code:</i> - * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * <li> <p> <i>Code:</i> BucketAlreadyExists</p> </li> <li> <p> <i>Description:</i> + * The requested bucket name is not available. The bucket namespace is shared by + * all users of the system. Please select a different name and try again.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * BucketAlreadyOwnedByYou</p> </li> <li> <p> <i>Description:</i> The bucket you + * tried to create already exists, and you own it. Amazon S3 returns this error in + * all Amazon Web Services Regions except in the North Virginia Region. For legacy + * compatibility, if you re-create an existing bucket that you already own in the + * North Virginia Region, Amazon S3 returns 200 OK and resets the bucket access + * control lists (ACLs).</p> </li> <li> <p> <i>Code:</i> 409 Conflict (in all + * Regions except the North Virginia Region) </p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * BucketNotEmpty</p> </li> <li> <p> <i>Description:</i> The bucket you tried to + * delete is not empty.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 + * Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> CredentialsNotSupported</p> </li> * <li> <p> <i>Description:</i> This request does not support credentials.</p> * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> @@ -2002,33 +2023,34 @@ namespace Model * again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 500 Internal Server Error</p> * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> * <ul> <li> <p> <i>Code:</i> InvalidAccessKeyId</p> </li> <li> <p> - * <i>Description:</i> The AWS access key ID you provided does not exist in our - * records.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> InvalidAddressingHeader</p> </li> <li> <p> - * <i>Description:</i> You must specify the Anonymous role.</p> </li> <li> <p> - * <i>HTTP Status Code:</i> N/A</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> - * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidArgument</p> - * </li> <li> <p> <i>Description:</i> Invalid Argument</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code - * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidBucketName</p> </li> <li> <p> <i>Description:</i> The specified bucket is - * not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> InvalidBucketState</p> </li> <li> <p> <i>Description:</i> - * The request is not valid with the current state of the bucket.</p> </li> <li> - * <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code + * <i>Description:</i> The Amazon Web Services access key ID you provided does not + * exist in our records.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidAddressingHeader</p> </li> + * <li> <p> <i>Description:</i> You must specify the Anonymous role.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> N/A</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you - * specified is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad - * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> - * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidEncryptionAlgorithmError</p> </li> - * <li> <p> <i>Description:</i> The encryption request you specified is not valid. - * The valid value is AES256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad - * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> - * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidLocationConstraint</p> </li> <li> - * <p> <i>Description:</i> The specified location constraint is not valid. For more - * information about Regions, see <a + * InvalidArgument</p> </li> <li> <p> <i>Description:</i> Invalid Argument</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> InvalidBucketName</p> </li> <li> <p> <i>Description:</i> The + * specified bucket is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidBucketState</p> </li> <li> + * <p> <i>Description:</i> The request is not valid with the current state of the + * bucket.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> InvalidDigest</p> </li> <li> <p> <i>Description:</i> The + * Content-MD5 you specified is not valid.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidEncryptionAlgorithmError</p> </li> <li> <p> <i>Description:</i> The + * encryption request you specified is not valid. The valid value is AES256.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> InvalidLocationConstraint</p> </li> <li> <p> <i>Description:</i> + * The specified location constraint is not valid. For more information about + * Regions, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">How * to Select a Region for Your Buckets</a>. </p> </li> <li> <p> <i>HTTP Status * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> @@ -2047,11 +2069,11 @@ namespace Model * number.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> * <li> <p> <i>Code:</i> InvalidPayer</p> </li> <li> <p> <i>Description:</i> All - * access to this object has been disabled. Please contact AWS Support for further - * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> InvalidPolicyDocument</p> </li> <li> <p> - * <i>Description:</i> The content of the form does not meet the conditions + * access to this object has been disabled. Please contact Amazon Web Services + * Support for further assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidPolicyDocument</p> </li> <li> + * <p> <i>Description:</i> The content of the form does not meet the conditions * specified in the policy document.</p> </li> <li> <p> <i>HTTP Status Code:</i> * 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRange</p> </li> <li> @@ -2059,10 +2081,10 @@ namespace Model * <p> <i>HTTP Status Code:</i> 416 Requested Range Not Satisfiable</p> </li> <li> * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> Please - * use AWS4-HMAC-SHA256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad - * Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> - * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> SOAP - * requests must be made over an HTTPS connection.</p> </li> <li> <p> <i>HTTP + * use <code>AWS4-HMAC-SHA256</code>.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> + * SOAP requests must be made over an HTTPS connection.</p> </li> <li> <p> <i>HTTP * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer @@ -2085,44 +2107,44 @@ namespace Model * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> * <i>Description:</i> Amazon S3 Transfer Acceleration is not supported on this - * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> - * <i>Description:</i> Amazon S3 Transfer Acceleration cannot be enabled on this - * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidSecurity</p> </li> <li> <p> - * <i>Description:</i> The provided security credentials are not valid.</p> </li> - * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault - * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidSOAPRequest</p> </li> <li> <p> <i>Description:</i> The SOAP request body - * is invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> - * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code:</i> InvalidStorageClass</p> </li> <li> <p> - * <i>Description:</i> The storage class you specified is not valid.</p> </li> <li> - * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault - * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidTargetBucketForLogging</p> </li> <li> <p> <i>Description:</i> The target - * bucket for logging does not exist, is not owned by you, or does not have the - * appropriate grants for the log-delivery group. </p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * bucket. Contact Amazon Web Services Support for more information.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> + * N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> + * </li> <li> <p> <i>Description:</i> Amazon S3 Transfer Acceleration cannot be + * enabled on this bucket. Contact Amazon Web Services Support for more + * information.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> InvalidSecurity</p> </li> <li> <p> <i>Description:</i> The provided + * security credentials are not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidSOAPRequest</p> </li> <li> + * <p> <i>Description:</i> The SOAP request body is invalid.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidToken</p> </li> <li> <p> <i>Description:</i> The provided token is - * malformed or otherwise invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 - * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidURI</p> </li> <li> <p> - * <i>Description:</i> Couldn't parse the specified URI.</p> </li> <li> <p> <i>HTTP + * InvalidStorageClass</p> </li> <li> <p> <i>Description:</i> The storage class you + * specified is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidTargetBucketForLogging</p> </li> + * <li> <p> <i>Description:</i> The target bucket for logging does not exist, is + * not owned by you, or does not have the appropriate grants for the log-delivery + * group. </p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidToken</p> </li> <li> <p> <i>Description:</i> The + * provided token is malformed or otherwise invalid.</p> </li> <li> <p> <i>HTTP * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * KeyTooLongError</p> </li> <li> <p> <i>Description:</i> Your key is too long.</p> - * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> - * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>Code:</i> MalformedACLError</p> </li> <li> <p> <i>Description:</i> The XML - * you provided was not well-formed or did not validate against our published - * schema.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> MalformedPOSTRequest </p> </li> <li> <p> - * <i>Description:</i> The body of your POST request is not well-formed + * InvalidURI</p> </li> <li> <p> <i>Description:</i> Couldn't parse the specified + * URI.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> KeyTooLongError</p> </li> <li> <p> <i>Description:</i> Your key + * is too long.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> MalformedACLError</p> </li> <li> <p> + * <i>Description:</i> The XML you provided was not well-formed or did not validate + * against our published schema.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> MalformedPOSTRequest </p> </li> <li> + * <p> <i>Description:</i> The body of your POST request is not well-formed * multipart/form-data.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> * </li> <li> <ul> <li> <p> <i>Code:</i> MalformedXML</p> </li> <li> <p> @@ -2199,20 +2221,21 @@ namespace Model * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotSignedUp</p> </li> <li> <p> * <i>Description:</i> Your account is not signed up for the Amazon S3 service. You * must sign up before you can use Amazon S3. You can sign up at the following URL: - * https://aws.amazon.com/s3</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 - * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> OperationAborted</p> </li> <li> <p> - * <i>Description:</i> A conflicting conditional action is currently in progress - * against this resource. Try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> - * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> PermanentRedirect</p> </li> <li> <p> - * <i>Description:</i> The bucket you are attempting to access must be addressed - * using the specified endpoint. Send all future requests to this endpoint.</p> - * </li> <li> <p> <i>HTTP Status Code:</i> 301 Moved Permanently</p> </li> <li> <p> - * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>Code:</i> PreconditionFailed</p> </li> <li> <p> <i>Description:</i> At least - * one of the preconditions you specified did not hold.</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 412 Precondition Failed</p> </li> <li> <p> <i>SOAP Fault Code + * <a href="http://aws.amazon.com/s3">Amazon S3</a> </p> </li> <li> <p> <i>HTTP + * Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * OperationAborted</p> </li> <li> <p> <i>Description:</i> A conflicting + * conditional action is currently in progress against this resource. Try + * again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> PermanentRedirect</p> </li> <li> <p> <i>Description:</i> The + * bucket you are attempting to access must be addressed using the specified + * endpoint. Send all future requests to this endpoint.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 301 Moved Permanently</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * PreconditionFailed</p> </li> <li> <p> <i>Description:</i> At least one of the + * preconditions you specified did not hold.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 412 Precondition Failed</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> * Redirect</p> </li> <li> <p> <i>Description:</i> Temporary redirect.</p> </li> * <li> <p> <i>HTTP Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p> @@ -2239,7 +2262,8 @@ namespace Model * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> * SignatureDoesNotMatch</p> </li> <li> <p> <i>Description:</i> The request * signature we calculated does not match the signature you provided. Check your - * AWS secret access key and signing method. For more information, see <a + * Amazon Web Services secret access key and signing method. For more information, + * see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST * Authentication</a> and <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/SOAPAuthentication.html">SOAP @@ -2287,41 +2311,42 @@ namespace Model * Access Denied</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> * <ul> <li> <p> <i>Code:</i> AccountProblem</p> </li> <li> <p> <i>Description:</i> - * There is a problem with your AWS account that prevents the action from - * completing successfully. Contact AWS Support for further assistance.</p> </li> - * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault + * There is a problem with your Amazon Web Services account that prevents the + * action from completing successfully. Contact Amazon Web Services Support for + * further assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> AllAccessDisabled</p> </li> <li> <p> + * <i>Description:</i> All access to this Amazon S3 resource has been disabled. + * Contact Amazon Web Services Support for further assistance.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * AmbiguousGrantByEmailAddress</p> </li> <li> <p> <i>Description:</i> The email + * address you provided is associated with more than one account.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * AllAccessDisabled</p> </li> <li> <p> <i>Description:</i> All access to this - * Amazon S3 resource has been disabled. Contact AWS Support for further - * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * AuthorizationHeaderMalformed</p> </li> <li> <p> <i>Description:</i> The + * authorization header you provided is invalid.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>HTTP Status Code:</i> N/A</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> BadDigest</p> </li> <li> <p> + * <i>Description:</i> The Content-MD5 you specified did not match what we + * received.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> AmbiguousGrantByEmailAddress</p> </li> <li> <p> - * <i>Description:</i> The email address you provided is associated with more than - * one account.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> - * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code:</i> AuthorizationHeaderMalformed</p> </li> <li> <p> - * <i>Description:</i> The authorization header you provided is invalid.</p> </li> - * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>HTTP - * Status Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * BadDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you specified - * did not match what we received.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 - * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> BucketAlreadyExists</p> </li> <li> - * <p> <i>Description:</i> The requested bucket name is not available. The bucket - * namespace is shared by all users of the system. Please select a different name - * and try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> - * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code:</i> BucketAlreadyOwnedByYou</p> </li> <li> <p> - * <i>Description:</i> The bucket you tried to create already exists, and you own - * it. Amazon S3 returns this error in all AWS Regions except in the North Virginia - * Region. For legacy compatibility, if you re-create an existing bucket that you - * already own in the North Virginia Region, Amazon S3 returns 200 OK and resets - * the bucket access control lists (ACLs).</p> </li> <li> <p> <i>Code:</i> 409 - * Conflict (in all Regions except the North Virginia Region) </p> </li> <li> <p> - * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>Code:</i> BucketNotEmpty</p> </li> <li> <p> <i>Description:</i> The bucket - * you tried to delete is not empty.</p> </li> <li> <p> <i>HTTP Status Code:</i> - * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * <li> <p> <i>Code:</i> BucketAlreadyExists</p> </li> <li> <p> <i>Description:</i> + * The requested bucket name is not available. The bucket namespace is shared by + * all users of the system. Please select a different name and try again.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * BucketAlreadyOwnedByYou</p> </li> <li> <p> <i>Description:</i> The bucket you + * tried to create already exists, and you own it. Amazon S3 returns this error in + * all Amazon Web Services Regions except in the North Virginia Region. For legacy + * compatibility, if you re-create an existing bucket that you already own in the + * North Virginia Region, Amazon S3 returns 200 OK and resets the bucket access + * control lists (ACLs).</p> </li> <li> <p> <i>Code:</i> 409 Conflict (in all + * Regions except the North Virginia Region) </p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * BucketNotEmpty</p> </li> <li> <p> <i>Description:</i> The bucket you tried to + * delete is not empty.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 + * Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> CredentialsNotSupported</p> </li> * <li> <p> <i>Description:</i> This request does not support credentials.</p> * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> @@ -2362,33 +2387,34 @@ namespace Model * again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 500 Internal Server Error</p> * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> * <ul> <li> <p> <i>Code:</i> InvalidAccessKeyId</p> </li> <li> <p> - * <i>Description:</i> The AWS access key ID you provided does not exist in our - * records.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> InvalidAddressingHeader</p> </li> <li> <p> - * <i>Description:</i> You must specify the Anonymous role.</p> </li> <li> <p> - * <i>HTTP Status Code:</i> N/A</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> - * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidArgument</p> - * </li> <li> <p> <i>Description:</i> Invalid Argument</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code - * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidBucketName</p> </li> <li> <p> <i>Description:</i> The specified bucket is - * not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> InvalidBucketState</p> </li> <li> <p> <i>Description:</i> - * The request is not valid with the current state of the bucket.</p> </li> <li> - * <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code + * <i>Description:</i> The Amazon Web Services access key ID you provided does not + * exist in our records.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidAddressingHeader</p> </li> + * <li> <p> <i>Description:</i> You must specify the Anonymous role.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> N/A</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you - * specified is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad - * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> - * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidEncryptionAlgorithmError</p> </li> - * <li> <p> <i>Description:</i> The encryption request you specified is not valid. - * The valid value is AES256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad - * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> - * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidLocationConstraint</p> </li> <li> - * <p> <i>Description:</i> The specified location constraint is not valid. For more - * information about Regions, see <a + * InvalidArgument</p> </li> <li> <p> <i>Description:</i> Invalid Argument</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> InvalidBucketName</p> </li> <li> <p> <i>Description:</i> The + * specified bucket is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidBucketState</p> </li> <li> + * <p> <i>Description:</i> The request is not valid with the current state of the + * bucket.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> InvalidDigest</p> </li> <li> <p> <i>Description:</i> The + * Content-MD5 you specified is not valid.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidEncryptionAlgorithmError</p> </li> <li> <p> <i>Description:</i> The + * encryption request you specified is not valid. The valid value is AES256.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> InvalidLocationConstraint</p> </li> <li> <p> <i>Description:</i> + * The specified location constraint is not valid. For more information about + * Regions, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">How * to Select a Region for Your Buckets</a>. </p> </li> <li> <p> <i>HTTP Status * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> @@ -2407,11 +2433,11 @@ namespace Model * number.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> * <li> <p> <i>Code:</i> InvalidPayer</p> </li> <li> <p> <i>Description:</i> All - * access to this object has been disabled. Please contact AWS Support for further - * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> InvalidPolicyDocument</p> </li> <li> <p> - * <i>Description:</i> The content of the form does not meet the conditions + * access to this object has been disabled. Please contact Amazon Web Services + * Support for further assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidPolicyDocument</p> </li> <li> + * <p> <i>Description:</i> The content of the form does not meet the conditions * specified in the policy document.</p> </li> <li> <p> <i>HTTP Status Code:</i> * 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRange</p> </li> <li> @@ -2419,10 +2445,10 @@ namespace Model * <p> <i>HTTP Status Code:</i> 416 Requested Range Not Satisfiable</p> </li> <li> * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> Please - * use AWS4-HMAC-SHA256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad - * Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> - * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> SOAP - * requests must be made over an HTTPS connection.</p> </li> <li> <p> <i>HTTP + * use <code>AWS4-HMAC-SHA256</code>.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> + * SOAP requests must be made over an HTTPS connection.</p> </li> <li> <p> <i>HTTP * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer @@ -2445,44 +2471,44 @@ namespace Model * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> * <i>Description:</i> Amazon S3 Transfer Acceleration is not supported on this - * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> - * <i>Description:</i> Amazon S3 Transfer Acceleration cannot be enabled on this - * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidSecurity</p> </li> <li> <p> - * <i>Description:</i> The provided security credentials are not valid.</p> </li> - * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault - * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidSOAPRequest</p> </li> <li> <p> <i>Description:</i> The SOAP request body - * is invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> - * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code:</i> InvalidStorageClass</p> </li> <li> <p> - * <i>Description:</i> The storage class you specified is not valid.</p> </li> <li> - * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault - * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidTargetBucketForLogging</p> </li> <li> <p> <i>Description:</i> The target - * bucket for logging does not exist, is not owned by you, or does not have the - * appropriate grants for the log-delivery group. </p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * bucket. Contact Amazon Web Services Support for more information.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> + * N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> + * </li> <li> <p> <i>Description:</i> Amazon S3 Transfer Acceleration cannot be + * enabled on this bucket. Contact Amazon Web Services Support for more + * information.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> InvalidSecurity</p> </li> <li> <p> <i>Description:</i> The provided + * security credentials are not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidSOAPRequest</p> </li> <li> + * <p> <i>Description:</i> The SOAP request body is invalid.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidToken</p> </li> <li> <p> <i>Description:</i> The provided token is - * malformed or otherwise invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 - * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidURI</p> </li> <li> <p> - * <i>Description:</i> Couldn't parse the specified URI.</p> </li> <li> <p> <i>HTTP + * InvalidStorageClass</p> </li> <li> <p> <i>Description:</i> The storage class you + * specified is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidTargetBucketForLogging</p> </li> + * <li> <p> <i>Description:</i> The target bucket for logging does not exist, is + * not owned by you, or does not have the appropriate grants for the log-delivery + * group. </p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidToken</p> </li> <li> <p> <i>Description:</i> The + * provided token is malformed or otherwise invalid.</p> </li> <li> <p> <i>HTTP * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * KeyTooLongError</p> </li> <li> <p> <i>Description:</i> Your key is too long.</p> - * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> - * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>Code:</i> MalformedACLError</p> </li> <li> <p> <i>Description:</i> The XML - * you provided was not well-formed or did not validate against our published - * schema.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> MalformedPOSTRequest </p> </li> <li> <p> - * <i>Description:</i> The body of your POST request is not well-formed + * InvalidURI</p> </li> <li> <p> <i>Description:</i> Couldn't parse the specified + * URI.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> KeyTooLongError</p> </li> <li> <p> <i>Description:</i> Your key + * is too long.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> MalformedACLError</p> </li> <li> <p> + * <i>Description:</i> The XML you provided was not well-formed or did not validate + * against our published schema.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> MalformedPOSTRequest </p> </li> <li> + * <p> <i>Description:</i> The body of your POST request is not well-formed * multipart/form-data.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> * </li> <li> <ul> <li> <p> <i>Code:</i> MalformedXML</p> </li> <li> <p> @@ -2559,20 +2585,21 @@ namespace Model * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotSignedUp</p> </li> <li> <p> * <i>Description:</i> Your account is not signed up for the Amazon S3 service. You * must sign up before you can use Amazon S3. You can sign up at the following URL: - * https://aws.amazon.com/s3</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 - * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> OperationAborted</p> </li> <li> <p> - * <i>Description:</i> A conflicting conditional action is currently in progress - * against this resource. Try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> - * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> PermanentRedirect</p> </li> <li> <p> - * <i>Description:</i> The bucket you are attempting to access must be addressed - * using the specified endpoint. Send all future requests to this endpoint.</p> - * </li> <li> <p> <i>HTTP Status Code:</i> 301 Moved Permanently</p> </li> <li> <p> - * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>Code:</i> PreconditionFailed</p> </li> <li> <p> <i>Description:</i> At least - * one of the preconditions you specified did not hold.</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 412 Precondition Failed</p> </li> <li> <p> <i>SOAP Fault Code + * <a href="http://aws.amazon.com/s3">Amazon S3</a> </p> </li> <li> <p> <i>HTTP + * Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * OperationAborted</p> </li> <li> <p> <i>Description:</i> A conflicting + * conditional action is currently in progress against this resource. Try + * again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> PermanentRedirect</p> </li> <li> <p> <i>Description:</i> The + * bucket you are attempting to access must be addressed using the specified + * endpoint. Send all future requests to this endpoint.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 301 Moved Permanently</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * PreconditionFailed</p> </li> <li> <p> <i>Description:</i> At least one of the + * preconditions you specified did not hold.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 412 Precondition Failed</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> * Redirect</p> </li> <li> <p> <i>Description:</i> Temporary redirect.</p> </li> * <li> <p> <i>HTTP Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p> @@ -2599,7 +2626,8 @@ namespace Model * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> * SignatureDoesNotMatch</p> </li> <li> <p> <i>Description:</i> The request * signature we calculated does not match the signature you provided. Check your - * AWS secret access key and signing method. For more information, see <a + * Amazon Web Services secret access key and signing method. For more information, + * see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST * Authentication</a> and <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/SOAPAuthentication.html">SOAP @@ -2647,41 +2675,42 @@ namespace Model * Access Denied</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> * <ul> <li> <p> <i>Code:</i> AccountProblem</p> </li> <li> <p> <i>Description:</i> - * There is a problem with your AWS account that prevents the action from - * completing successfully. Contact AWS Support for further assistance.</p> </li> - * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault + * There is a problem with your Amazon Web Services account that prevents the + * action from completing successfully. Contact Amazon Web Services Support for + * further assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> AllAccessDisabled</p> </li> <li> <p> + * <i>Description:</i> All access to this Amazon S3 resource has been disabled. + * Contact Amazon Web Services Support for further assistance.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * AmbiguousGrantByEmailAddress</p> </li> <li> <p> <i>Description:</i> The email + * address you provided is associated with more than one account.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * AllAccessDisabled</p> </li> <li> <p> <i>Description:</i> All access to this - * Amazon S3 resource has been disabled. Contact AWS Support for further - * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * AuthorizationHeaderMalformed</p> </li> <li> <p> <i>Description:</i> The + * authorization header you provided is invalid.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>HTTP Status Code:</i> N/A</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> BadDigest</p> </li> <li> <p> + * <i>Description:</i> The Content-MD5 you specified did not match what we + * received.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> AmbiguousGrantByEmailAddress</p> </li> <li> <p> - * <i>Description:</i> The email address you provided is associated with more than - * one account.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> - * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code:</i> AuthorizationHeaderMalformed</p> </li> <li> <p> - * <i>Description:</i> The authorization header you provided is invalid.</p> </li> - * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>HTTP - * Status Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * BadDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you specified - * did not match what we received.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 - * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> BucketAlreadyExists</p> </li> <li> - * <p> <i>Description:</i> The requested bucket name is not available. The bucket - * namespace is shared by all users of the system. Please select a different name - * and try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> - * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code:</i> BucketAlreadyOwnedByYou</p> </li> <li> <p> - * <i>Description:</i> The bucket you tried to create already exists, and you own - * it. Amazon S3 returns this error in all AWS Regions except in the North Virginia - * Region. For legacy compatibility, if you re-create an existing bucket that you - * already own in the North Virginia Region, Amazon S3 returns 200 OK and resets - * the bucket access control lists (ACLs).</p> </li> <li> <p> <i>Code:</i> 409 - * Conflict (in all Regions except the North Virginia Region) </p> </li> <li> <p> - * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>Code:</i> BucketNotEmpty</p> </li> <li> <p> <i>Description:</i> The bucket - * you tried to delete is not empty.</p> </li> <li> <p> <i>HTTP Status Code:</i> - * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * <li> <p> <i>Code:</i> BucketAlreadyExists</p> </li> <li> <p> <i>Description:</i> + * The requested bucket name is not available. The bucket namespace is shared by + * all users of the system. Please select a different name and try again.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * BucketAlreadyOwnedByYou</p> </li> <li> <p> <i>Description:</i> The bucket you + * tried to create already exists, and you own it. Amazon S3 returns this error in + * all Amazon Web Services Regions except in the North Virginia Region. For legacy + * compatibility, if you re-create an existing bucket that you already own in the + * North Virginia Region, Amazon S3 returns 200 OK and resets the bucket access + * control lists (ACLs).</p> </li> <li> <p> <i>Code:</i> 409 Conflict (in all + * Regions except the North Virginia Region) </p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * BucketNotEmpty</p> </li> <li> <p> <i>Description:</i> The bucket you tried to + * delete is not empty.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 + * Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> CredentialsNotSupported</p> </li> * <li> <p> <i>Description:</i> This request does not support credentials.</p> * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> @@ -2722,33 +2751,34 @@ namespace Model * again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 500 Internal Server Error</p> * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> * <ul> <li> <p> <i>Code:</i> InvalidAccessKeyId</p> </li> <li> <p> - * <i>Description:</i> The AWS access key ID you provided does not exist in our - * records.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> InvalidAddressingHeader</p> </li> <li> <p> - * <i>Description:</i> You must specify the Anonymous role.</p> </li> <li> <p> - * <i>HTTP Status Code:</i> N/A</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> - * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidArgument</p> - * </li> <li> <p> <i>Description:</i> Invalid Argument</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code - * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidBucketName</p> </li> <li> <p> <i>Description:</i> The specified bucket is - * not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> InvalidBucketState</p> </li> <li> <p> <i>Description:</i> - * The request is not valid with the current state of the bucket.</p> </li> <li> - * <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code + * <i>Description:</i> The Amazon Web Services access key ID you provided does not + * exist in our records.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidAddressingHeader</p> </li> + * <li> <p> <i>Description:</i> You must specify the Anonymous role.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> N/A</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you - * specified is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad - * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> - * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidEncryptionAlgorithmError</p> </li> - * <li> <p> <i>Description:</i> The encryption request you specified is not valid. - * The valid value is AES256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad - * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> - * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidLocationConstraint</p> </li> <li> - * <p> <i>Description:</i> The specified location constraint is not valid. For more - * information about Regions, see <a + * InvalidArgument</p> </li> <li> <p> <i>Description:</i> Invalid Argument</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> InvalidBucketName</p> </li> <li> <p> <i>Description:</i> The + * specified bucket is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidBucketState</p> </li> <li> + * <p> <i>Description:</i> The request is not valid with the current state of the + * bucket.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> InvalidDigest</p> </li> <li> <p> <i>Description:</i> The + * Content-MD5 you specified is not valid.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidEncryptionAlgorithmError</p> </li> <li> <p> <i>Description:</i> The + * encryption request you specified is not valid. The valid value is AES256.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> InvalidLocationConstraint</p> </li> <li> <p> <i>Description:</i> + * The specified location constraint is not valid. For more information about + * Regions, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">How * to Select a Region for Your Buckets</a>. </p> </li> <li> <p> <i>HTTP Status * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> @@ -2767,11 +2797,11 @@ namespace Model * number.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> * <li> <p> <i>Code:</i> InvalidPayer</p> </li> <li> <p> <i>Description:</i> All - * access to this object has been disabled. Please contact AWS Support for further - * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> InvalidPolicyDocument</p> </li> <li> <p> - * <i>Description:</i> The content of the form does not meet the conditions + * access to this object has been disabled. Please contact Amazon Web Services + * Support for further assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidPolicyDocument</p> </li> <li> + * <p> <i>Description:</i> The content of the form does not meet the conditions * specified in the policy document.</p> </li> <li> <p> <i>HTTP Status Code:</i> * 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRange</p> </li> <li> @@ -2779,10 +2809,10 @@ namespace Model * <p> <i>HTTP Status Code:</i> 416 Requested Range Not Satisfiable</p> </li> <li> * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> Please - * use AWS4-HMAC-SHA256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad - * Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> - * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> SOAP - * requests must be made over an HTTPS connection.</p> </li> <li> <p> <i>HTTP + * use <code>AWS4-HMAC-SHA256</code>.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> + * SOAP requests must be made over an HTTPS connection.</p> </li> <li> <p> <i>HTTP * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer @@ -2805,44 +2835,44 @@ namespace Model * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> * <i>Description:</i> Amazon S3 Transfer Acceleration is not supported on this - * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> - * <i>Description:</i> Amazon S3 Transfer Acceleration cannot be enabled on this - * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidSecurity</p> </li> <li> <p> - * <i>Description:</i> The provided security credentials are not valid.</p> </li> - * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault - * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidSOAPRequest</p> </li> <li> <p> <i>Description:</i> The SOAP request body - * is invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> - * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> - * <ul> <li> <p> <i>Code:</i> InvalidStorageClass</p> </li> <li> <p> - * <i>Description:</i> The storage class you specified is not valid.</p> </li> <li> - * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault - * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidTargetBucketForLogging</p> </li> <li> <p> <i>Description:</i> The target - * bucket for logging does not exist, is not owned by you, or does not have the - * appropriate grants for the log-delivery group. </p> </li> <li> <p> <i>HTTP - * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * bucket. Contact Amazon Web Services Support for more information.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> + * N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> + * </li> <li> <p> <i>Description:</i> Amazon S3 Transfer Acceleration cannot be + * enabled on this bucket. Contact Amazon Web Services Support for more + * information.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> InvalidSecurity</p> </li> <li> <p> <i>Description:</i> The provided + * security credentials are not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidSOAPRequest</p> </li> <li> + * <p> <i>Description:</i> The SOAP request body is invalid.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * InvalidToken</p> </li> <li> <p> <i>Description:</i> The provided token is - * malformed or otherwise invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 - * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidURI</p> </li> <li> <p> - * <i>Description:</i> Couldn't parse the specified URI.</p> </li> <li> <p> <i>HTTP + * InvalidStorageClass</p> </li> <li> <p> <i>Description:</i> The storage class you + * specified is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidTargetBucketForLogging</p> </li> + * <li> <p> <i>Description:</i> The target bucket for logging does not exist, is + * not owned by you, or does not have the appropriate grants for the log-delivery + * group. </p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidToken</p> </li> <li> <p> <i>Description:</i> The + * provided token is malformed or otherwise invalid.</p> </li> <li> <p> <i>HTTP * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> - * KeyTooLongError</p> </li> <li> <p> <i>Description:</i> Your key is too long.</p> - * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> - * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>Code:</i> MalformedACLError</p> </li> <li> <p> <i>Description:</i> The XML - * you provided was not well-formed or did not validate against our published - * schema.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> - * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> - * <li> <p> <i>Code:</i> MalformedPOSTRequest </p> </li> <li> <p> - * <i>Description:</i> The body of your POST request is not well-formed + * InvalidURI</p> </li> <li> <p> <i>Description:</i> Couldn't parse the specified + * URI.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> KeyTooLongError</p> </li> <li> <p> <i>Description:</i> Your key + * is too long.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> MalformedACLError</p> </li> <li> <p> + * <i>Description:</i> The XML you provided was not well-formed or did not validate + * against our published schema.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> MalformedPOSTRequest </p> </li> <li> + * <p> <i>Description:</i> The body of your POST request is not well-formed * multipart/form-data.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> * </li> <li> <ul> <li> <p> <i>Code:</i> MalformedXML</p> </li> <li> <p> @@ -2919,20 +2949,21 @@ namespace Model * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotSignedUp</p> </li> <li> <p> * <i>Description:</i> Your account is not signed up for the Amazon S3 service. You * must sign up before you can use Amazon S3. You can sign up at the following URL: - * https://aws.amazon.com/s3</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 - * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> OperationAborted</p> </li> <li> <p> - * <i>Description:</i> A conflicting conditional action is currently in progress - * against this resource. Try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> - * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> - * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> PermanentRedirect</p> </li> <li> <p> - * <i>Description:</i> The bucket you are attempting to access must be addressed - * using the specified endpoint. Send all future requests to this endpoint.</p> - * </li> <li> <p> <i>HTTP Status Code:</i> 301 Moved Permanently</p> </li> <li> <p> - * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> - * <i>Code:</i> PreconditionFailed</p> </li> <li> <p> <i>Description:</i> At least - * one of the preconditions you specified did not hold.</p> </li> <li> <p> <i>HTTP - * Status Code:</i> 412 Precondition Failed</p> </li> <li> <p> <i>SOAP Fault Code + * <a href="http://aws.amazon.com/s3">Amazon S3</a> </p> </li> <li> <p> <i>HTTP + * Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * OperationAborted</p> </li> <li> <p> <i>Description:</i> A conflicting + * conditional action is currently in progress against this resource. Try + * again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> PermanentRedirect</p> </li> <li> <p> <i>Description:</i> The + * bucket you are attempting to access must be addressed using the specified + * endpoint. Send all future requests to this endpoint.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 301 Moved Permanently</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * PreconditionFailed</p> </li> <li> <p> <i>Description:</i> At least one of the + * preconditions you specified did not hold.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 412 Precondition Failed</p> </li> <li> <p> <i>SOAP Fault Code * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> * Redirect</p> </li> <li> <p> <i>Description:</i> Temporary redirect.</p> </li> * <li> <p> <i>HTTP Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p> @@ -2959,7 +2990,8 @@ namespace Model * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> * SignatureDoesNotMatch</p> </li> <li> <p> <i>Description:</i> The request * signature we calculated does not match the signature you provided. Check your - * AWS secret access key and signing method. For more information, see <a + * Amazon Web Services secret access key and signing method. For more information, + * see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST * Authentication</a> and <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/SOAPAuthentication.html">SOAP @@ -3083,16 +3115,16 @@ namespace Model private: Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; Aws::String m_versionId; - bool m_versionIdHasBeenSet; + bool m_versionIdHasBeenSet = false; Aws::String m_code; - bool m_codeHasBeenSet; + bool m_codeHasBeenSet = false; Aws::String m_message; - bool m_messageHasBeenSet; + bool m_messageHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ErrorDocument.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ErrorDocument.h index 114e8b8865..eb35c3438c 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ErrorDocument.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ErrorDocument.h @@ -27,14 +27,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ErrorDocument">AWS * API Reference</a></p> */ - class AWS_S3_API ErrorDocument + class ErrorDocument { public: - ErrorDocument(); - ErrorDocument(const Aws::Utils::Xml::XmlNode& xmlNode); - ErrorDocument& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ErrorDocument(); + AWS_S3_API ErrorDocument(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ErrorDocument& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -112,7 +112,7 @@ namespace Model private: Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Event.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Event.h index 036cc47543..b0c9bbcbd9 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Event.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Event.h @@ -32,7 +32,17 @@ namespace Model s3_Replication_OperationFailedReplication, s3_Replication_OperationNotTracked, s3_Replication_OperationMissedThreshold, - s3_Replication_OperationReplicatedAfterThreshold + s3_Replication_OperationReplicatedAfterThreshold, + s3_ObjectRestore_Delete, + s3_LifecycleTransition, + s3_IntelligentTiering, + s3_ObjectAcl_Put, + s3_LifecycleExpiration, + s3_LifecycleExpiration_Delete, + s3_LifecycleExpiration_DeleteMarkerCreated, + s3_ObjectTagging, + s3_ObjectTagging_Put, + s3_ObjectTagging_Delete }; namespace EventMapper diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/EventBridgeConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/EventBridgeConfiguration.h new file mode 100644 index 0000000000..023d3a50a6 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/EventBridgeConfiguration.h @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>A container for specifying the configuration for Amazon + * EventBridge.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/EventBridgeConfiguration">AWS + * API Reference</a></p> + */ + class EventBridgeConfiguration + { + public: + AWS_S3_API EventBridgeConfiguration(); + AWS_S3_API EventBridgeConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API EventBridgeConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ExistingObjectReplication.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ExistingObjectReplication.h index 9484083682..152b8d7629 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ExistingObjectReplication.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ExistingObjectReplication.h @@ -26,19 +26,19 @@ namespace Model * <p>Optional configuration to replicate existing source bucket objects. For more * information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-what-is-isnot-replicated.html#existing-object-replication">Replicating - * Existing Objects</a> in the <i>Amazon S3 Developer Guide</i>. </p><p><h3>See + * Existing Objects</a> in the <i>Amazon S3 User Guide</i>. </p><p><h3>See * Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ExistingObjectReplication">AWS * API Reference</a></p> */ - class AWS_S3_API ExistingObjectReplication + class ExistingObjectReplication { public: - ExistingObjectReplication(); - ExistingObjectReplication(const Aws::Utils::Xml::XmlNode& xmlNode); - ExistingObjectReplication& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ExistingObjectReplication(); + AWS_S3_API ExistingObjectReplication(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ExistingObjectReplication& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -74,7 +74,7 @@ namespace Model private: ExistingObjectReplicationStatus m_status; - bool m_statusHasBeenSet; + bool m_statusHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/FilterRule.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/FilterRule.h index efbbb66359..e5236cd076 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/FilterRule.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/FilterRule.h @@ -29,14 +29,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/FilterRule">AWS API * Reference</a></p> */ - class AWS_S3_API FilterRule + class FilterRule { public: - FilterRule(); - FilterRule(const Aws::Utils::Xml::XmlNode& xmlNode); - FilterRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API FilterRule(); + AWS_S3_API FilterRule(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API FilterRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -137,10 +137,10 @@ namespace Model private: FilterRuleName m_name; - bool m_nameHasBeenSet; + bool m_nameHasBeenSet = false; Aws::String m_value; - bool m_valueHasBeenSet; + bool m_valueHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAccelerateConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAccelerateConfigurationRequest.h index 24523b85d8..146941b445 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAccelerateConfigurationRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAccelerateConfigurationRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API GetBucketAccelerateConfigurationRequest : public S3Request + class GetBucketAccelerateConfigurationRequest : public S3Request { public: - GetBucketAccelerateConfigurationRequest(); + AWS_S3_API GetBucketAccelerateConfigurationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetBucketAccelerateConfiguration"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket for which the accelerate configuration is @@ -92,57 +96,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketAccelerateConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketAccelerateConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketAccelerateConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -189,13 +193,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAccelerateConfigurationResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAccelerateConfigurationResult.h index 7838cbb34d..d866a39f5a 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAccelerateConfigurationResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAccelerateConfigurationResult.h @@ -24,12 +24,12 @@ namespace S3 { namespace Model { - class AWS_S3_API GetBucketAccelerateConfigurationResult + class GetBucketAccelerateConfigurationResult { public: - GetBucketAccelerateConfigurationResult(); - GetBucketAccelerateConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - GetBucketAccelerateConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketAccelerateConfigurationResult(); + AWS_S3_API GetBucketAccelerateConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketAccelerateConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAclRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAclRequest.h index c4c03d2d4f..7f89407726 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAclRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAclRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API GetBucketAclRequest : public S3Request + class GetBucketAclRequest : public S3Request { public: - GetBucketAclRequest(); + AWS_S3_API GetBucketAclRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetBucketAcl"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>Specifies the S3 bucket whose ACL is being requested.</p> @@ -84,57 +88,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketAclRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketAclRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketAclRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -181,13 +185,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAclResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAclResult.h index dc3723c89c..54b6246913 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAclResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAclResult.h @@ -26,12 +26,12 @@ namespace S3 { namespace Model { - class AWS_S3_API GetBucketAclResult + class GetBucketAclResult { public: - GetBucketAclResult(); - GetBucketAclResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - GetBucketAclResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketAclResult(); + AWS_S3_API GetBucketAclResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketAclResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAnalyticsConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAnalyticsConfigurationRequest.h index 559bb22660..779aa8a272 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAnalyticsConfigurationRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAnalyticsConfigurationRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API GetBucketAnalyticsConfigurationRequest : public S3Request + class GetBucketAnalyticsConfigurationRequest : public S3Request { public: - GetBucketAnalyticsConfigurationRequest(); + AWS_S3_API GetBucketAnalyticsConfigurationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetBucketAnalyticsConfiguration"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket from which an analytics configuration is @@ -133,57 +137,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketAnalyticsConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketAnalyticsConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketAnalyticsConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -230,16 +234,16 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_id; - bool m_idHasBeenSet; + bool m_idHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAnalyticsConfigurationResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAnalyticsConfigurationResult.h index d0847a1458..a6846be102 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAnalyticsConfigurationResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAnalyticsConfigurationResult.h @@ -24,12 +24,12 @@ namespace S3 { namespace Model { - class AWS_S3_API GetBucketAnalyticsConfigurationResult + class GetBucketAnalyticsConfigurationResult { public: - GetBucketAnalyticsConfigurationResult(); - GetBucketAnalyticsConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - GetBucketAnalyticsConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketAnalyticsConfigurationResult(); + AWS_S3_API GetBucketAnalyticsConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketAnalyticsConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketCorsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketCorsRequest.h index 3e9b8cd66f..05a5bc1e9b 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketCorsRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketCorsRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API GetBucketCorsRequest : public S3Request + class GetBucketCorsRequest : public S3Request { public: - GetBucketCorsRequest(); + AWS_S3_API GetBucketCorsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetBucketCors"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name for which to get the cors configuration.</p> @@ -84,57 +88,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketCorsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketCorsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketCorsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -181,13 +185,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketCorsResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketCorsResult.h index 8e0e34069f..2b40f60a0b 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketCorsResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketCorsResult.h @@ -25,12 +25,12 @@ namespace S3 { namespace Model { - class AWS_S3_API GetBucketCorsResult + class GetBucketCorsResult { public: - GetBucketCorsResult(); - GetBucketCorsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - GetBucketCorsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketCorsResult(); + AWS_S3_API GetBucketCorsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketCorsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketEncryptionRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketEncryptionRequest.h index 1bb5bfd2eb..f985c90ce5 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketEncryptionRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketEncryptionRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API GetBucketEncryptionRequest : public S3Request + class GetBucketEncryptionRequest : public S3Request { public: - GetBucketEncryptionRequest(); + AWS_S3_API GetBucketEncryptionRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetBucketEncryption"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket from which the server-side encryption configuration is @@ -92,57 +96,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketEncryptionRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketEncryptionRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketEncryptionRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -189,13 +193,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketEncryptionResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketEncryptionResult.h index deab65dbd4..758bd3af9f 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketEncryptionResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketEncryptionResult.h @@ -24,12 +24,12 @@ namespace S3 { namespace Model { - class AWS_S3_API GetBucketEncryptionResult + class GetBucketEncryptionResult { public: - GetBucketEncryptionResult(); - GetBucketEncryptionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - GetBucketEncryptionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketEncryptionResult(); + AWS_S3_API GetBucketEncryptionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketEncryptionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketIntelligentTieringConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketIntelligentTieringConfigurationRequest.h index ddba23557e..951cefa202 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketIntelligentTieringConfigurationRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketIntelligentTieringConfigurationRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API GetBucketIntelligentTieringConfigurationRequest : public S3Request + class GetBucketIntelligentTieringConfigurationRequest : public S3Request { public: - GetBucketIntelligentTieringConfigurationRequest(); + AWS_S3_API GetBucketIntelligentTieringConfigurationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,10 +34,14 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetBucketIntelligentTieringConfiguration"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the Amazon S3 bucket whose configuration you want to modify or @@ -171,13 +175,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_id; - bool m_idHasBeenSet; + bool m_idHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketIntelligentTieringConfigurationResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketIntelligentTieringConfigurationResult.h index a039bb60be..8965f54347 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketIntelligentTieringConfigurationResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketIntelligentTieringConfigurationResult.h @@ -24,12 +24,12 @@ namespace S3 { namespace Model { - class AWS_S3_API GetBucketIntelligentTieringConfigurationResult + class GetBucketIntelligentTieringConfigurationResult { public: - GetBucketIntelligentTieringConfigurationResult(); - GetBucketIntelligentTieringConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - GetBucketIntelligentTieringConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketIntelligentTieringConfigurationResult(); + AWS_S3_API GetBucketIntelligentTieringConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketIntelligentTieringConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketInventoryConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketInventoryConfigurationRequest.h index 6bbac67627..41648d1c70 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketInventoryConfigurationRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketInventoryConfigurationRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API GetBucketInventoryConfigurationRequest : public S3Request + class GetBucketInventoryConfigurationRequest : public S3Request { public: - GetBucketInventoryConfigurationRequest(); + AWS_S3_API GetBucketInventoryConfigurationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetBucketInventoryConfiguration"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket containing the inventory configuration to @@ -133,57 +137,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketInventoryConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketInventoryConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketInventoryConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -230,16 +234,16 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_id; - bool m_idHasBeenSet; + bool m_idHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketInventoryConfigurationResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketInventoryConfigurationResult.h index 034c56c8ef..21c188282f 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketInventoryConfigurationResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketInventoryConfigurationResult.h @@ -24,12 +24,12 @@ namespace S3 { namespace Model { - class AWS_S3_API GetBucketInventoryConfigurationResult + class GetBucketInventoryConfigurationResult { public: - GetBucketInventoryConfigurationResult(); - GetBucketInventoryConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - GetBucketInventoryConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketInventoryConfigurationResult(); + AWS_S3_API GetBucketInventoryConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketInventoryConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLifecycleConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLifecycleConfigurationRequest.h index b26b05c742..be9ec90e32 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLifecycleConfigurationRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLifecycleConfigurationRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API GetBucketLifecycleConfigurationRequest : public S3Request + class GetBucketLifecycleConfigurationRequest : public S3Request { public: - GetBucketLifecycleConfigurationRequest(); + AWS_S3_API GetBucketLifecycleConfigurationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetBucketLifecycleConfiguration"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket for which to get the lifecycle information.</p> @@ -84,57 +88,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketLifecycleConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketLifecycleConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketLifecycleConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -181,13 +185,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLifecycleConfigurationResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLifecycleConfigurationResult.h index c04c22a758..ffeab90760 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLifecycleConfigurationResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLifecycleConfigurationResult.h @@ -25,12 +25,12 @@ namespace S3 { namespace Model { - class AWS_S3_API GetBucketLifecycleConfigurationResult + class GetBucketLifecycleConfigurationResult { public: - GetBucketLifecycleConfigurationResult(); - GetBucketLifecycleConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - GetBucketLifecycleConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketLifecycleConfigurationResult(); + AWS_S3_API GetBucketLifecycleConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketLifecycleConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLocationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLocationRequest.h index fa4aed4020..74cd31e044 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLocationRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLocationRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API GetBucketLocationRequest : public S3Request + class GetBucketLocationRequest : public S3Request { public: - GetBucketLocationRequest(); + AWS_S3_API GetBucketLocationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetBucketLocation"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket for which to get the location.</p> @@ -84,57 +88,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketLocationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketLocationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketLocationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -181,13 +185,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLocationResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLocationResult.h index 4f777648cc..9c203932ca 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLocationResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLocationResult.h @@ -24,12 +24,12 @@ namespace S3 { namespace Model { - class AWS_S3_API GetBucketLocationResult + class GetBucketLocationResult { public: - GetBucketLocationResult(); - GetBucketLocationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - GetBucketLocationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketLocationResult(); + AWS_S3_API GetBucketLocationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketLocationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLoggingRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLoggingRequest.h index 833a4534b1..0193cad7ba 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLoggingRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLoggingRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API GetBucketLoggingRequest : public S3Request + class GetBucketLoggingRequest : public S3Request { public: - GetBucketLoggingRequest(); + AWS_S3_API GetBucketLoggingRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetBucketLogging"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name for which to get the logging information.</p> @@ -84,57 +88,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketLoggingRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketLoggingRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketLoggingRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -181,13 +185,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLoggingResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLoggingResult.h index 1495a54ba4..88a9ea7aac 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLoggingResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLoggingResult.h @@ -24,12 +24,12 @@ namespace S3 { namespace Model { - class AWS_S3_API GetBucketLoggingResult + class GetBucketLoggingResult { public: - GetBucketLoggingResult(); - GetBucketLoggingResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - GetBucketLoggingResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketLoggingResult(); + AWS_S3_API GetBucketLoggingResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketLoggingResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketMetricsConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketMetricsConfigurationRequest.h index dd345e42d2..1ab4cdcabf 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketMetricsConfigurationRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketMetricsConfigurationRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API GetBucketMetricsConfigurationRequest : public S3Request + class GetBucketMetricsConfigurationRequest : public S3Request { public: - GetBucketMetricsConfigurationRequest(); + AWS_S3_API GetBucketMetricsConfigurationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetBucketMetricsConfiguration"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket containing the metrics configuration to retrieve.</p> @@ -125,57 +129,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketMetricsConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketMetricsConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketMetricsConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -222,16 +226,16 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_id; - bool m_idHasBeenSet; + bool m_idHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketMetricsConfigurationResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketMetricsConfigurationResult.h index bb60e97dbf..6bc09c0022 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketMetricsConfigurationResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketMetricsConfigurationResult.h @@ -24,12 +24,12 @@ namespace S3 { namespace Model { - class AWS_S3_API GetBucketMetricsConfigurationResult + class GetBucketMetricsConfigurationResult { public: - GetBucketMetricsConfigurationResult(); - GetBucketMetricsConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - GetBucketMetricsConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketMetricsConfigurationResult(); + AWS_S3_API GetBucketMetricsConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketMetricsConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketNotificationConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketNotificationConfigurationRequest.h index 2a191d8f4c..ab6d442b5f 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketNotificationConfigurationRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketNotificationConfigurationRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API GetBucketNotificationConfigurationRequest : public S3Request + class GetBucketNotificationConfigurationRequest : public S3Request { public: - GetBucketNotificationConfigurationRequest(); + AWS_S3_API GetBucketNotificationConfigurationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetBucketNotificationConfiguration"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket for which to get the notification configuration.</p> @@ -84,57 +88,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketNotificationConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketNotificationConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketNotificationConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -181,13 +185,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketNotificationConfigurationResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketNotificationConfigurationResult.h index a8fe0671ca..49673d0e44 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketNotificationConfigurationResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketNotificationConfigurationResult.h @@ -6,6 +6,7 @@ #pragma once #include <aws/s3/S3_EXPORTS.h> #include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/EventBridgeConfiguration.h> #include <aws/s3/model/TopicConfiguration.h> #include <aws/s3/model/QueueConfiguration.h> #include <aws/s3/model/LambdaFunctionConfiguration.h> @@ -34,12 +35,12 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NotificationConfiguration">AWS * API Reference</a></p> */ - class AWS_S3_API GetBucketNotificationConfigurationResult + class GetBucketNotificationConfigurationResult { public: - GetBucketNotificationConfigurationResult(); - GetBucketNotificationConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - GetBucketNotificationConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketNotificationConfigurationResult(); + AWS_S3_API GetBucketNotificationConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketNotificationConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** @@ -129,47 +130,73 @@ namespace Model /** - * <p>Describes the AWS Lambda functions to invoke and the events for which to - * invoke them.</p> + * <p>Describes the Lambda functions to invoke and the events for which to invoke + * them.</p> */ inline const Aws::Vector<LambdaFunctionConfiguration>& GetLambdaFunctionConfigurations() const{ return m_lambdaFunctionConfigurations; } /** - * <p>Describes the AWS Lambda functions to invoke and the events for which to - * invoke them.</p> + * <p>Describes the Lambda functions to invoke and the events for which to invoke + * them.</p> */ inline void SetLambdaFunctionConfigurations(const Aws::Vector<LambdaFunctionConfiguration>& value) { m_lambdaFunctionConfigurations = value; } /** - * <p>Describes the AWS Lambda functions to invoke and the events for which to - * invoke them.</p> + * <p>Describes the Lambda functions to invoke and the events for which to invoke + * them.</p> */ inline void SetLambdaFunctionConfigurations(Aws::Vector<LambdaFunctionConfiguration>&& value) { m_lambdaFunctionConfigurations = std::move(value); } /** - * <p>Describes the AWS Lambda functions to invoke and the events for which to - * invoke them.</p> + * <p>Describes the Lambda functions to invoke and the events for which to invoke + * them.</p> */ inline GetBucketNotificationConfigurationResult& WithLambdaFunctionConfigurations(const Aws::Vector<LambdaFunctionConfiguration>& value) { SetLambdaFunctionConfigurations(value); return *this;} /** - * <p>Describes the AWS Lambda functions to invoke and the events for which to - * invoke them.</p> + * <p>Describes the Lambda functions to invoke and the events for which to invoke + * them.</p> */ inline GetBucketNotificationConfigurationResult& WithLambdaFunctionConfigurations(Aws::Vector<LambdaFunctionConfiguration>&& value) { SetLambdaFunctionConfigurations(std::move(value)); return *this;} /** - * <p>Describes the AWS Lambda functions to invoke and the events for which to - * invoke them.</p> + * <p>Describes the Lambda functions to invoke and the events for which to invoke + * them.</p> */ inline GetBucketNotificationConfigurationResult& AddLambdaFunctionConfigurations(const LambdaFunctionConfiguration& value) { m_lambdaFunctionConfigurations.push_back(value); return *this; } /** - * <p>Describes the AWS Lambda functions to invoke and the events for which to - * invoke them.</p> + * <p>Describes the Lambda functions to invoke and the events for which to invoke + * them.</p> */ inline GetBucketNotificationConfigurationResult& AddLambdaFunctionConfigurations(LambdaFunctionConfiguration&& value) { m_lambdaFunctionConfigurations.push_back(std::move(value)); return *this; } + + /** + * <p>Enables delivery of events to Amazon EventBridge.</p> + */ + inline const EventBridgeConfiguration& GetEventBridgeConfiguration() const{ return m_eventBridgeConfiguration; } + + /** + * <p>Enables delivery of events to Amazon EventBridge.</p> + */ + inline void SetEventBridgeConfiguration(const EventBridgeConfiguration& value) { m_eventBridgeConfiguration = value; } + + /** + * <p>Enables delivery of events to Amazon EventBridge.</p> + */ + inline void SetEventBridgeConfiguration(EventBridgeConfiguration&& value) { m_eventBridgeConfiguration = std::move(value); } + + /** + * <p>Enables delivery of events to Amazon EventBridge.</p> + */ + inline GetBucketNotificationConfigurationResult& WithEventBridgeConfiguration(const EventBridgeConfiguration& value) { SetEventBridgeConfiguration(value); return *this;} + + /** + * <p>Enables delivery of events to Amazon EventBridge.</p> + */ + inline GetBucketNotificationConfigurationResult& WithEventBridgeConfiguration(EventBridgeConfiguration&& value) { SetEventBridgeConfiguration(std::move(value)); return *this;} + private: Aws::Vector<TopicConfiguration> m_topicConfigurations; @@ -177,6 +204,8 @@ namespace Model Aws::Vector<QueueConfiguration> m_queueConfigurations; Aws::Vector<LambdaFunctionConfiguration> m_lambdaFunctionConfigurations; + + EventBridgeConfiguration m_eventBridgeConfiguration; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketOwnershipControlsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketOwnershipControlsRequest.h index 37f8628125..a9355e3861 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketOwnershipControlsRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketOwnershipControlsRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API GetBucketOwnershipControlsRequest : public S3Request + class GetBucketOwnershipControlsRequest : public S3Request { public: - GetBucketOwnershipControlsRequest(); + AWS_S3_API GetBucketOwnershipControlsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetBucketOwnershipControls"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the Amazon S3 bucket whose <code>OwnershipControls</code> you @@ -92,57 +96,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketOwnershipControlsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketOwnershipControlsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketOwnershipControlsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -189,13 +193,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketOwnershipControlsResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketOwnershipControlsResult.h index 9c28367889..b49e907ce8 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketOwnershipControlsResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketOwnershipControlsResult.h @@ -24,41 +24,46 @@ namespace S3 { namespace Model { - class AWS_S3_API GetBucketOwnershipControlsResult + class GetBucketOwnershipControlsResult { public: - GetBucketOwnershipControlsResult(); - GetBucketOwnershipControlsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - GetBucketOwnershipControlsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketOwnershipControlsResult(); + AWS_S3_API GetBucketOwnershipControlsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketOwnershipControlsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** - * <p>The <code>OwnershipControls</code> (BucketOwnerPreferred or ObjectWriter) - * currently in effect for this Amazon S3 bucket.</p> + * <p>The <code>OwnershipControls</code> (BucketOwnerEnforced, + * BucketOwnerPreferred, or ObjectWriter) currently in effect for this Amazon S3 + * bucket.</p> */ inline const OwnershipControls& GetOwnershipControls() const{ return m_ownershipControls; } /** - * <p>The <code>OwnershipControls</code> (BucketOwnerPreferred or ObjectWriter) - * currently in effect for this Amazon S3 bucket.</p> + * <p>The <code>OwnershipControls</code> (BucketOwnerEnforced, + * BucketOwnerPreferred, or ObjectWriter) currently in effect for this Amazon S3 + * bucket.</p> */ inline void SetOwnershipControls(const OwnershipControls& value) { m_ownershipControls = value; } /** - * <p>The <code>OwnershipControls</code> (BucketOwnerPreferred or ObjectWriter) - * currently in effect for this Amazon S3 bucket.</p> + * <p>The <code>OwnershipControls</code> (BucketOwnerEnforced, + * BucketOwnerPreferred, or ObjectWriter) currently in effect for this Amazon S3 + * bucket.</p> */ inline void SetOwnershipControls(OwnershipControls&& value) { m_ownershipControls = std::move(value); } /** - * <p>The <code>OwnershipControls</code> (BucketOwnerPreferred or ObjectWriter) - * currently in effect for this Amazon S3 bucket.</p> + * <p>The <code>OwnershipControls</code> (BucketOwnerEnforced, + * BucketOwnerPreferred, or ObjectWriter) currently in effect for this Amazon S3 + * bucket.</p> */ inline GetBucketOwnershipControlsResult& WithOwnershipControls(const OwnershipControls& value) { SetOwnershipControls(value); return *this;} /** - * <p>The <code>OwnershipControls</code> (BucketOwnerPreferred or ObjectWriter) - * currently in effect for this Amazon S3 bucket.</p> + * <p>The <code>OwnershipControls</code> (BucketOwnerEnforced, + * BucketOwnerPreferred, or ObjectWriter) currently in effect for this Amazon S3 + * bucket.</p> */ inline GetBucketOwnershipControlsResult& WithOwnershipControls(OwnershipControls&& value) { SetOwnershipControls(std::move(value)); return *this;} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyRequest.h index 2f3c3e4b67..37ed5815f1 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API GetBucketPolicyRequest : public S3Request + class GetBucketPolicyRequest : public S3Request { public: - GetBucketPolicyRequest(); + AWS_S3_API GetBucketPolicyRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetBucketPolicy"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name for which to get the bucket policy.</p> @@ -84,57 +88,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketPolicyRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketPolicyRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketPolicyRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -181,13 +185,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyResult.h index 80857238c6..588b178f68 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyResult.h @@ -18,28 +18,28 @@ namespace S3 { namespace Model { - class AWS_S3_API GetBucketPolicyResult + class GetBucketPolicyResult { public: - GetBucketPolicyResult(); + AWS_S3_API GetBucketPolicyResult(); //We have to define these because Microsoft doesn't auto generate them - GetBucketPolicyResult(GetBucketPolicyResult&&); - GetBucketPolicyResult& operator=(GetBucketPolicyResult&&); + AWS_S3_API GetBucketPolicyResult(GetBucketPolicyResult&&); + AWS_S3_API GetBucketPolicyResult& operator=(GetBucketPolicyResult&&); //we delete these because Microsoft doesn't handle move generation correctly //and we therefore don't trust them to get it right here either. GetBucketPolicyResult(const GetBucketPolicyResult&) = delete; GetBucketPolicyResult& operator=(const GetBucketPolicyResult&) = delete; - GetBucketPolicyResult(Aws::AmazonWebServiceResult<Aws::Utils::Stream::ResponseStream>&& result); - GetBucketPolicyResult& operator=(Aws::AmazonWebServiceResult<Aws::Utils::Stream::ResponseStream>&& result); + AWS_S3_API GetBucketPolicyResult(Aws::AmazonWebServiceResult<Aws::Utils::Stream::ResponseStream>&& result); + AWS_S3_API GetBucketPolicyResult& operator=(Aws::AmazonWebServiceResult<Aws::Utils::Stream::ResponseStream>&& result); /** * <p>The bucket policy as a JSON document.</p> */ - inline Aws::IOStream& GetPolicy() { return m_policy.GetUnderlyingStream(); } + inline Aws::IOStream& GetPolicy() const { return m_policy.GetUnderlyingStream(); } /** * <p>The bucket policy as a JSON document.</p> @@ -48,7 +48,7 @@ namespace Model private: - Aws::Utils::Stream::ResponseStream m_policy; + Aws::Utils::Stream::ResponseStream m_policy; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyStatusRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyStatusRequest.h index 2afaaf0f9b..b96f3f1949 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyStatusRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyStatusRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API GetBucketPolicyStatusRequest : public S3Request + class GetBucketPolicyStatusRequest : public S3Request { public: - GetBucketPolicyStatusRequest(); + AWS_S3_API GetBucketPolicyStatusRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetBucketPolicyStatus"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the Amazon S3 bucket whose policy status you want to @@ -92,57 +96,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketPolicyStatusRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketPolicyStatusRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketPolicyStatusRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -189,13 +193,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyStatusResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyStatusResult.h index d1935f3590..01054239d9 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyStatusResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyStatusResult.h @@ -24,12 +24,12 @@ namespace S3 { namespace Model { - class AWS_S3_API GetBucketPolicyStatusResult + class GetBucketPolicyStatusResult { public: - GetBucketPolicyStatusResult(); - GetBucketPolicyStatusResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - GetBucketPolicyStatusResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketPolicyStatusResult(); + AWS_S3_API GetBucketPolicyStatusResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketPolicyStatusResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketReplicationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketReplicationRequest.h index 71aa9f131b..6ea3c4c739 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketReplicationRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketReplicationRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API GetBucketReplicationRequest : public S3Request + class GetBucketReplicationRequest : public S3Request { public: - GetBucketReplicationRequest(); + AWS_S3_API GetBucketReplicationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetBucketReplication"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name for which to get the replication information.</p> @@ -84,57 +88,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketReplicationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketReplicationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketReplicationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -181,13 +185,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketReplicationResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketReplicationResult.h index ff53188ffd..5ae08fcb62 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketReplicationResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketReplicationResult.h @@ -24,12 +24,12 @@ namespace S3 { namespace Model { - class AWS_S3_API GetBucketReplicationResult + class GetBucketReplicationResult { public: - GetBucketReplicationResult(); - GetBucketReplicationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - GetBucketReplicationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketReplicationResult(); + AWS_S3_API GetBucketReplicationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketReplicationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketRequestPaymentRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketRequestPaymentRequest.h index 4471b13374..bece65a37b 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketRequestPaymentRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketRequestPaymentRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API GetBucketRequestPaymentRequest : public S3Request + class GetBucketRequestPaymentRequest : public S3Request { public: - GetBucketRequestPaymentRequest(); + AWS_S3_API GetBucketRequestPaymentRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetBucketRequestPayment"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket for which to get the payment request configuration</p> @@ -84,57 +88,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketRequestPaymentRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketRequestPaymentRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketRequestPaymentRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -181,13 +185,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketRequestPaymentResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketRequestPaymentResult.h index 48b84e3462..71239a74fa 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketRequestPaymentResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketRequestPaymentResult.h @@ -24,12 +24,12 @@ namespace S3 { namespace Model { - class AWS_S3_API GetBucketRequestPaymentResult + class GetBucketRequestPaymentResult { public: - GetBucketRequestPaymentResult(); - GetBucketRequestPaymentResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - GetBucketRequestPaymentResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketRequestPaymentResult(); + AWS_S3_API GetBucketRequestPaymentResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketRequestPaymentResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketTaggingRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketTaggingRequest.h index e660344c3f..2b9e3febb1 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketTaggingRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketTaggingRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API GetBucketTaggingRequest : public S3Request + class GetBucketTaggingRequest : public S3Request { public: - GetBucketTaggingRequest(); + AWS_S3_API GetBucketTaggingRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetBucketTagging"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket for which to get the tagging information.</p> @@ -84,57 +88,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketTaggingRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketTaggingRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketTaggingRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -181,13 +185,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketTaggingResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketTaggingResult.h index 7555a772b4..2012ef8a58 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketTaggingResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketTaggingResult.h @@ -25,12 +25,12 @@ namespace S3 { namespace Model { - class AWS_S3_API GetBucketTaggingResult + class GetBucketTaggingResult { public: - GetBucketTaggingResult(); - GetBucketTaggingResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - GetBucketTaggingResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketTaggingResult(); + AWS_S3_API GetBucketTaggingResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketTaggingResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketVersioningRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketVersioningRequest.h index 787c5ff90a..c9499fdb70 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketVersioningRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketVersioningRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API GetBucketVersioningRequest : public S3Request + class GetBucketVersioningRequest : public S3Request { public: - GetBucketVersioningRequest(); + AWS_S3_API GetBucketVersioningRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetBucketVersioning"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket for which to get the versioning information.</p> @@ -84,57 +88,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketVersioningRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketVersioningRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketVersioningRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -181,13 +185,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketVersioningResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketVersioningResult.h index 2e4d770751..955dcbc65c 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketVersioningResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketVersioningResult.h @@ -25,12 +25,12 @@ namespace S3 { namespace Model { - class AWS_S3_API GetBucketVersioningResult + class GetBucketVersioningResult { public: - GetBucketVersioningResult(); - GetBucketVersioningResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - GetBucketVersioningResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketVersioningResult(); + AWS_S3_API GetBucketVersioningResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketVersioningResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketWebsiteRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketWebsiteRequest.h index 6422d3c876..ea6f63838a 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketWebsiteRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketWebsiteRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API GetBucketWebsiteRequest : public S3Request + class GetBucketWebsiteRequest : public S3Request { public: - GetBucketWebsiteRequest(); + AWS_S3_API GetBucketWebsiteRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetBucketWebsite"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name for which to get the website configuration.</p> @@ -84,57 +88,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketWebsiteRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketWebsiteRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetBucketWebsiteRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -181,13 +185,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketWebsiteResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketWebsiteResult.h index f5cb5577b5..3750567104 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketWebsiteResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketWebsiteResult.h @@ -28,12 +28,12 @@ namespace S3 { namespace Model { - class AWS_S3_API GetBucketWebsiteResult + class GetBucketWebsiteResult { public: - GetBucketWebsiteResult(); - GetBucketWebsiteResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - GetBucketWebsiteResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketWebsiteResult(); + AWS_S3_API GetBucketWebsiteResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetBucketWebsiteResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAclRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAclRequest.h index 412a4ac4fc..b947c61890 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAclRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAclRequest.h @@ -24,10 +24,10 @@ namespace Model /** */ - class AWS_S3_API GetObjectAclRequest : public S3Request + class GetObjectAclRequest : public S3Request { public: - GetObjectAclRequest(); + AWS_S3_API GetObjectAclRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,12 +35,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetObjectAcl"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name that contains the object for which to get the ACL @@ -48,11 +52,11 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } @@ -62,11 +66,11 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } @@ -76,11 +80,11 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } @@ -90,11 +94,11 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } @@ -104,11 +108,11 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } @@ -118,11 +122,11 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline GetObjectAclRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} @@ -132,11 +136,11 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline GetObjectAclRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} @@ -146,11 +150,11 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline GetObjectAclRequest& WithBucket(const char* value) { SetBucket(value); return *this;} @@ -258,57 +262,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetObjectAclRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetObjectAclRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetObjectAclRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -355,22 +359,22 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; Aws::String m_versionId; - bool m_versionIdHasBeenSet; + bool m_versionIdHasBeenSet = false; RequestPayer m_requestPayer; - bool m_requestPayerHasBeenSet; + bool m_requestPayerHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAclResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAclResult.h index 26f7bae035..d023dc0b11 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAclResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAclResult.h @@ -27,12 +27,12 @@ namespace S3 { namespace Model { - class AWS_S3_API GetObjectAclResult + class GetObjectAclResult { public: - GetObjectAclResult(); - GetObjectAclResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - GetObjectAclResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetObjectAclResult(); + AWS_S3_API GetObjectAclResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetObjectAclResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAttributesParts.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAttributesParts.h new file mode 100644 index 0000000000..a852e16843 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAttributesParts.h @@ -0,0 +1,238 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/ObjectPart.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>A collection of parts associated with a multipart upload.</p><p><h3>See + * Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAttributesParts">AWS + * API Reference</a></p> + */ + class GetObjectAttributesParts + { + public: + AWS_S3_API GetObjectAttributesParts(); + AWS_S3_API GetObjectAttributesParts(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API GetObjectAttributesParts& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The total number of parts.</p> + */ + inline int GetTotalPartsCount() const{ return m_totalPartsCount; } + + /** + * <p>The total number of parts.</p> + */ + inline bool TotalPartsCountHasBeenSet() const { return m_totalPartsCountHasBeenSet; } + + /** + * <p>The total number of parts.</p> + */ + inline void SetTotalPartsCount(int value) { m_totalPartsCountHasBeenSet = true; m_totalPartsCount = value; } + + /** + * <p>The total number of parts.</p> + */ + inline GetObjectAttributesParts& WithTotalPartsCount(int value) { SetTotalPartsCount(value); return *this;} + + + /** + * <p>The marker for the current part.</p> + */ + inline int GetPartNumberMarker() const{ return m_partNumberMarker; } + + /** + * <p>The marker for the current part.</p> + */ + inline bool PartNumberMarkerHasBeenSet() const { return m_partNumberMarkerHasBeenSet; } + + /** + * <p>The marker for the current part.</p> + */ + inline void SetPartNumberMarker(int value) { m_partNumberMarkerHasBeenSet = true; m_partNumberMarker = value; } + + /** + * <p>The marker for the current part.</p> + */ + inline GetObjectAttributesParts& WithPartNumberMarker(int value) { SetPartNumberMarker(value); return *this;} + + + /** + * <p>When a list is truncated, this element specifies the last part in the list, + * as well as the value to use for the <code>PartNumberMarker</code> request + * parameter in a subsequent request.</p> + */ + inline int GetNextPartNumberMarker() const{ return m_nextPartNumberMarker; } + + /** + * <p>When a list is truncated, this element specifies the last part in the list, + * as well as the value to use for the <code>PartNumberMarker</code> request + * parameter in a subsequent request.</p> + */ + inline bool NextPartNumberMarkerHasBeenSet() const { return m_nextPartNumberMarkerHasBeenSet; } + + /** + * <p>When a list is truncated, this element specifies the last part in the list, + * as well as the value to use for the <code>PartNumberMarker</code> request + * parameter in a subsequent request.</p> + */ + inline void SetNextPartNumberMarker(int value) { m_nextPartNumberMarkerHasBeenSet = true; m_nextPartNumberMarker = value; } + + /** + * <p>When a list is truncated, this element specifies the last part in the list, + * as well as the value to use for the <code>PartNumberMarker</code> request + * parameter in a subsequent request.</p> + */ + inline GetObjectAttributesParts& WithNextPartNumberMarker(int value) { SetNextPartNumberMarker(value); return *this;} + + + /** + * <p>The maximum number of parts allowed in the response.</p> + */ + inline int GetMaxParts() const{ return m_maxParts; } + + /** + * <p>The maximum number of parts allowed in the response.</p> + */ + inline bool MaxPartsHasBeenSet() const { return m_maxPartsHasBeenSet; } + + /** + * <p>The maximum number of parts allowed in the response.</p> + */ + inline void SetMaxParts(int value) { m_maxPartsHasBeenSet = true; m_maxParts = value; } + + /** + * <p>The maximum number of parts allowed in the response.</p> + */ + inline GetObjectAttributesParts& WithMaxParts(int value) { SetMaxParts(value); return *this;} + + + /** + * <p>Indicates whether the returned list of parts is truncated. A value of + * <code>true</code> indicates that the list was truncated. A list can be truncated + * if the number of parts exceeds the limit returned in the <code>MaxParts</code> + * element.</p> + */ + inline bool GetIsTruncated() const{ return m_isTruncated; } + + /** + * <p>Indicates whether the returned list of parts is truncated. A value of + * <code>true</code> indicates that the list was truncated. A list can be truncated + * if the number of parts exceeds the limit returned in the <code>MaxParts</code> + * element.</p> + */ + inline bool IsTruncatedHasBeenSet() const { return m_isTruncatedHasBeenSet; } + + /** + * <p>Indicates whether the returned list of parts is truncated. A value of + * <code>true</code> indicates that the list was truncated. A list can be truncated + * if the number of parts exceeds the limit returned in the <code>MaxParts</code> + * element.</p> + */ + inline void SetIsTruncated(bool value) { m_isTruncatedHasBeenSet = true; m_isTruncated = value; } + + /** + * <p>Indicates whether the returned list of parts is truncated. A value of + * <code>true</code> indicates that the list was truncated. A list can be truncated + * if the number of parts exceeds the limit returned in the <code>MaxParts</code> + * element.</p> + */ + inline GetObjectAttributesParts& WithIsTruncated(bool value) { SetIsTruncated(value); return *this;} + + + /** + * <p>A container for elements related to a particular part. A response can contain + * zero or more <code>Parts</code> elements.</p> + */ + inline const Aws::Vector<ObjectPart>& GetParts() const{ return m_parts; } + + /** + * <p>A container for elements related to a particular part. A response can contain + * zero or more <code>Parts</code> elements.</p> + */ + inline bool PartsHasBeenSet() const { return m_partsHasBeenSet; } + + /** + * <p>A container for elements related to a particular part. A response can contain + * zero or more <code>Parts</code> elements.</p> + */ + inline void SetParts(const Aws::Vector<ObjectPart>& value) { m_partsHasBeenSet = true; m_parts = value; } + + /** + * <p>A container for elements related to a particular part. A response can contain + * zero or more <code>Parts</code> elements.</p> + */ + inline void SetParts(Aws::Vector<ObjectPart>&& value) { m_partsHasBeenSet = true; m_parts = std::move(value); } + + /** + * <p>A container for elements related to a particular part. A response can contain + * zero or more <code>Parts</code> elements.</p> + */ + inline GetObjectAttributesParts& WithParts(const Aws::Vector<ObjectPart>& value) { SetParts(value); return *this;} + + /** + * <p>A container for elements related to a particular part. A response can contain + * zero or more <code>Parts</code> elements.</p> + */ + inline GetObjectAttributesParts& WithParts(Aws::Vector<ObjectPart>&& value) { SetParts(std::move(value)); return *this;} + + /** + * <p>A container for elements related to a particular part. A response can contain + * zero or more <code>Parts</code> elements.</p> + */ + inline GetObjectAttributesParts& AddParts(const ObjectPart& value) { m_partsHasBeenSet = true; m_parts.push_back(value); return *this; } + + /** + * <p>A container for elements related to a particular part. A response can contain + * zero or more <code>Parts</code> elements.</p> + */ + inline GetObjectAttributesParts& AddParts(ObjectPart&& value) { m_partsHasBeenSet = true; m_parts.push_back(std::move(value)); return *this; } + + private: + + int m_totalPartsCount; + bool m_totalPartsCountHasBeenSet = false; + + int m_partNumberMarker; + bool m_partNumberMarkerHasBeenSet = false; + + int m_nextPartNumberMarker; + bool m_nextPartNumberMarkerHasBeenSet = false; + + int m_maxParts; + bool m_maxPartsHasBeenSet = false; + + bool m_isTruncated; + bool m_isTruncatedHasBeenSet = false; + + Aws::Vector<ObjectPart> m_parts; + bool m_partsHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAttributesRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAttributesRequest.h new file mode 100644 index 0000000000..0a55365fe4 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAttributesRequest.h @@ -0,0 +1,732 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/RequestPayer.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <aws/s3/model/ObjectAttributes.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class GetObjectAttributesRequest : public S3Request + { + public: + AWS_S3_API GetObjectAttributesRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetObjectAttributes"; } + + AWS_S3_API Aws::String SerializePayload() const override; + + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; + + /** + * <p>The name of the bucket that contains the object.</p> <p>When using this + * action with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * action with Amazon S3 on Outposts, you must direct requests to the S3 on + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket that contains the object.</p> <p>When using this + * action with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * action with Amazon S3 on Outposts, you must direct requests to the S3 on + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket that contains the object.</p> <p>When using this + * action with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * action with Amazon S3 on Outposts, you must direct requests to the S3 on + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket that contains the object.</p> <p>When using this + * action with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * action with Amazon S3 on Outposts, you must direct requests to the S3 on + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket that contains the object.</p> <p>When using this + * action with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * action with Amazon S3 on Outposts, you must direct requests to the S3 on + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket that contains the object.</p> <p>When using this + * action with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * action with Amazon S3 on Outposts, you must direct requests to the S3 on + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline GetObjectAttributesRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket that contains the object.</p> <p>When using this + * action with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * action with Amazon S3 on Outposts, you must direct requests to the S3 on + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline GetObjectAttributesRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket that contains the object.</p> <p>When using this + * action with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * action with Amazon S3 on Outposts, you must direct requests to the S3 on + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline GetObjectAttributesRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The object key.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>The object key.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>The object key.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>The object key.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>The object key.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>The object key.</p> + */ + inline GetObjectAttributesRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>The object key.</p> + */ + inline GetObjectAttributesRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>The object key.</p> + */ + inline GetObjectAttributesRequest& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>The version ID used to reference a specific version of the object.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>The version ID used to reference a specific version of the object.</p> + */ + inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } + + /** + * <p>The version ID used to reference a specific version of the object.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } + + /** + * <p>The version ID used to reference a specific version of the object.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } + + /** + * <p>The version ID used to reference a specific version of the object.</p> + */ + inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } + + /** + * <p>The version ID used to reference a specific version of the object.</p> + */ + inline GetObjectAttributesRequest& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>The version ID used to reference a specific version of the object.</p> + */ + inline GetObjectAttributesRequest& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>The version ID used to reference a specific version of the object.</p> + */ + inline GetObjectAttributesRequest& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + /** + * <p>Sets the maximum number of parts to return.</p> + */ + inline int GetMaxParts() const{ return m_maxParts; } + + /** + * <p>Sets the maximum number of parts to return.</p> + */ + inline bool MaxPartsHasBeenSet() const { return m_maxPartsHasBeenSet; } + + /** + * <p>Sets the maximum number of parts to return.</p> + */ + inline void SetMaxParts(int value) { m_maxPartsHasBeenSet = true; m_maxParts = value; } + + /** + * <p>Sets the maximum number of parts to return.</p> + */ + inline GetObjectAttributesRequest& WithMaxParts(int value) { SetMaxParts(value); return *this;} + + + /** + * <p>Specifies the part after which listing should begin. Only parts with higher + * part numbers will be listed.</p> + */ + inline int GetPartNumberMarker() const{ return m_partNumberMarker; } + + /** + * <p>Specifies the part after which listing should begin. Only parts with higher + * part numbers will be listed.</p> + */ + inline bool PartNumberMarkerHasBeenSet() const { return m_partNumberMarkerHasBeenSet; } + + /** + * <p>Specifies the part after which listing should begin. Only parts with higher + * part numbers will be listed.</p> + */ + inline void SetPartNumberMarker(int value) { m_partNumberMarkerHasBeenSet = true; m_partNumberMarker = value; } + + /** + * <p>Specifies the part after which listing should begin. Only parts with higher + * part numbers will be listed.</p> + */ + inline GetObjectAttributesRequest& WithPartNumberMarker(int value) { SetPartNumberMarker(value); return *this;} + + + /** + * <p>Specifies the algorithm to use when encrypting the object (for example, + * AES256).</p> + */ + inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; } + + /** + * <p>Specifies the algorithm to use when encrypting the object (for example, + * AES256).</p> + */ + inline bool SSECustomerAlgorithmHasBeenSet() const { return m_sSECustomerAlgorithmHasBeenSet; } + + /** + * <p>Specifies the algorithm to use when encrypting the object (for example, + * AES256).</p> + */ + inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = value; } + + /** + * <p>Specifies the algorithm to use when encrypting the object (for example, + * AES256).</p> + */ + inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = std::move(value); } + + /** + * <p>Specifies the algorithm to use when encrypting the object (for example, + * AES256).</p> + */ + inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm.assign(value); } + + /** + * <p>Specifies the algorithm to use when encrypting the object (for example, + * AES256).</p> + */ + inline GetObjectAttributesRequest& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;} + + /** + * <p>Specifies the algorithm to use when encrypting the object (for example, + * AES256).</p> + */ + inline GetObjectAttributesRequest& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;} + + /** + * <p>Specifies the algorithm to use when encrypting the object (for example, + * AES256).</p> + */ + inline GetObjectAttributesRequest& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;} + + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline const Aws::String& GetSSECustomerKey() const{ return m_sSECustomerKey; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline bool SSECustomerKeyHasBeenSet() const { return m_sSECustomerKeyHasBeenSet; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline void SetSSECustomerKey(const Aws::String& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = value; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline void SetSSECustomerKey(Aws::String&& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = std::move(value); } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline void SetSSECustomerKey(const char* value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey.assign(value); } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline GetObjectAttributesRequest& WithSSECustomerKey(const Aws::String& value) { SetSSECustomerKey(value); return *this;} + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline GetObjectAttributesRequest& WithSSECustomerKey(Aws::String&& value) { SetSSECustomerKey(std::move(value)); return *this;} + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline GetObjectAttributesRequest& WithSSECustomerKey(const char* value) { SetSSECustomerKey(value); return *this;} + + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline bool SSECustomerKeyMD5HasBeenSet() const { return m_sSECustomerKeyMD5HasBeenSet; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = value; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = std::move(value); } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5.assign(value); } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline GetObjectAttributesRequest& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;} + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline GetObjectAttributesRequest& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;} + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline GetObjectAttributesRequest& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;} + + + + inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } + + + inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } + + + inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } + + + inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } + + + inline GetObjectAttributesRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} + + + inline GetObjectAttributesRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} + + + /** + * <p>The account ID of the expected bucket owner. If the bucket is owned by a + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account ID of the expected bucket owner. If the bucket is owned by a + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account ID of the expected bucket owner. If the bucket is owned by a + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account ID of the expected bucket owner. If the bucket is owned by a + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account ID of the expected bucket owner. If the bucket is owned by a + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account ID of the expected bucket owner. If the bucket is owned by a + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> + */ + inline GetObjectAttributesRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account ID of the expected bucket owner. If the bucket is owned by a + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> + */ + inline GetObjectAttributesRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account ID of the expected bucket owner. If the bucket is owned by a + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> + */ + inline GetObjectAttributesRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + /** + * <p>An XML header that specifies the fields at the root level that you want + * returned in the response. Fields that you do not specify are not returned.</p> + */ + inline const Aws::Vector<ObjectAttributes>& GetObjectAttributes() const{ return m_objectAttributes; } + + /** + * <p>An XML header that specifies the fields at the root level that you want + * returned in the response. Fields that you do not specify are not returned.</p> + */ + inline bool ObjectAttributesHasBeenSet() const { return m_objectAttributesHasBeenSet; } + + /** + * <p>An XML header that specifies the fields at the root level that you want + * returned in the response. Fields that you do not specify are not returned.</p> + */ + inline void SetObjectAttributes(const Aws::Vector<ObjectAttributes>& value) { m_objectAttributesHasBeenSet = true; m_objectAttributes = value; } + + /** + * <p>An XML header that specifies the fields at the root level that you want + * returned in the response. Fields that you do not specify are not returned.</p> + */ + inline void SetObjectAttributes(Aws::Vector<ObjectAttributes>&& value) { m_objectAttributesHasBeenSet = true; m_objectAttributes = std::move(value); } + + /** + * <p>An XML header that specifies the fields at the root level that you want + * returned in the response. Fields that you do not specify are not returned.</p> + */ + inline GetObjectAttributesRequest& WithObjectAttributes(const Aws::Vector<ObjectAttributes>& value) { SetObjectAttributes(value); return *this;} + + /** + * <p>An XML header that specifies the fields at the root level that you want + * returned in the response. Fields that you do not specify are not returned.</p> + */ + inline GetObjectAttributesRequest& WithObjectAttributes(Aws::Vector<ObjectAttributes>&& value) { SetObjectAttributes(std::move(value)); return *this;} + + /** + * <p>An XML header that specifies the fields at the root level that you want + * returned in the response. Fields that you do not specify are not returned.</p> + */ + inline GetObjectAttributesRequest& AddObjectAttributes(const ObjectAttributes& value) { m_objectAttributesHasBeenSet = true; m_objectAttributes.push_back(value); return *this; } + + /** + * <p>An XML header that specifies the fields at the root level that you want + * returned in the response. Fields that you do not specify are not returned.</p> + */ + inline GetObjectAttributesRequest& AddObjectAttributes(ObjectAttributes&& value) { m_objectAttributesHasBeenSet = true; m_objectAttributes.push_back(std::move(value)); return *this; } + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetObjectAttributesRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetObjectAttributesRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetObjectAttributesRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetObjectAttributesRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetObjectAttributesRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetObjectAttributesRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetObjectAttributesRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetObjectAttributesRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetObjectAttributesRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet = false; + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + Aws::String m_versionId; + bool m_versionIdHasBeenSet = false; + + int m_maxParts; + bool m_maxPartsHasBeenSet = false; + + int m_partNumberMarker; + bool m_partNumberMarkerHasBeenSet = false; + + Aws::String m_sSECustomerAlgorithm; + bool m_sSECustomerAlgorithmHasBeenSet = false; + + Aws::String m_sSECustomerKey; + bool m_sSECustomerKeyHasBeenSet = false; + + Aws::String m_sSECustomerKeyMD5; + bool m_sSECustomerKeyMD5HasBeenSet = false; + + RequestPayer m_requestPayer; + bool m_requestPayerHasBeenSet = false; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet = false; + + Aws::Vector<ObjectAttributes> m_objectAttributes; + bool m_objectAttributesHasBeenSet = false; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAttributesResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAttributesResult.h new file mode 100644 index 0000000000..5ccfd2a4a3 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAttributesResult.h @@ -0,0 +1,319 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/DateTime.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/RequestCharged.h> +#include <aws/s3/model/Checksum.h> +#include <aws/s3/model/GetObjectAttributesParts.h> +#include <aws/s3/model/StorageClass.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class GetObjectAttributesResult + { + public: + AWS_S3_API GetObjectAttributesResult(); + AWS_S3_API GetObjectAttributesResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetObjectAttributesResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>Specifies whether the object retrieved was (<code>true</code>) or was not + * (<code>false</code>) a delete marker. If <code>false</code>, this response + * header does not appear in the response.</p> + */ + inline bool GetDeleteMarker() const{ return m_deleteMarker; } + + /** + * <p>Specifies whether the object retrieved was (<code>true</code>) or was not + * (<code>false</code>) a delete marker. If <code>false</code>, this response + * header does not appear in the response.</p> + */ + inline void SetDeleteMarker(bool value) { m_deleteMarker = value; } + + /** + * <p>Specifies whether the object retrieved was (<code>true</code>) or was not + * (<code>false</code>) a delete marker. If <code>false</code>, this response + * header does not appear in the response.</p> + */ + inline GetObjectAttributesResult& WithDeleteMarker(bool value) { SetDeleteMarker(value); return *this;} + + + /** + * <p>The creation date of the object.</p> + */ + inline const Aws::Utils::DateTime& GetLastModified() const{ return m_lastModified; } + + /** + * <p>The creation date of the object.</p> + */ + inline void SetLastModified(const Aws::Utils::DateTime& value) { m_lastModified = value; } + + /** + * <p>The creation date of the object.</p> + */ + inline void SetLastModified(Aws::Utils::DateTime&& value) { m_lastModified = std::move(value); } + + /** + * <p>The creation date of the object.</p> + */ + inline GetObjectAttributesResult& WithLastModified(const Aws::Utils::DateTime& value) { SetLastModified(value); return *this;} + + /** + * <p>The creation date of the object.</p> + */ + inline GetObjectAttributesResult& WithLastModified(Aws::Utils::DateTime&& value) { SetLastModified(std::move(value)); return *this;} + + + /** + * <p>The version ID of the object.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>The version ID of the object.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionId = value; } + + /** + * <p>The version ID of the object.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionId = std::move(value); } + + /** + * <p>The version ID of the object.</p> + */ + inline void SetVersionId(const char* value) { m_versionId.assign(value); } + + /** + * <p>The version ID of the object.</p> + */ + inline GetObjectAttributesResult& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>The version ID of the object.</p> + */ + inline GetObjectAttributesResult& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>The version ID of the object.</p> + */ + inline GetObjectAttributesResult& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + + inline const RequestCharged& GetRequestCharged() const{ return m_requestCharged; } + + + inline void SetRequestCharged(const RequestCharged& value) { m_requestCharged = value; } + + + inline void SetRequestCharged(RequestCharged&& value) { m_requestCharged = std::move(value); } + + + inline GetObjectAttributesResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;} + + + inline GetObjectAttributesResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} + + + /** + * <p>An ETag is an opaque identifier assigned by a web server to a specific + * version of a resource found at a URL.</p> + */ + inline const Aws::String& GetETag() const{ return m_eTag; } + + /** + * <p>An ETag is an opaque identifier assigned by a web server to a specific + * version of a resource found at a URL.</p> + */ + inline void SetETag(const Aws::String& value) { m_eTag = value; } + + /** + * <p>An ETag is an opaque identifier assigned by a web server to a specific + * version of a resource found at a URL.</p> + */ + inline void SetETag(Aws::String&& value) { m_eTag = std::move(value); } + + /** + * <p>An ETag is an opaque identifier assigned by a web server to a specific + * version of a resource found at a URL.</p> + */ + inline void SetETag(const char* value) { m_eTag.assign(value); } + + /** + * <p>An ETag is an opaque identifier assigned by a web server to a specific + * version of a resource found at a URL.</p> + */ + inline GetObjectAttributesResult& WithETag(const Aws::String& value) { SetETag(value); return *this;} + + /** + * <p>An ETag is an opaque identifier assigned by a web server to a specific + * version of a resource found at a URL.</p> + */ + inline GetObjectAttributesResult& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} + + /** + * <p>An ETag is an opaque identifier assigned by a web server to a specific + * version of a resource found at a URL.</p> + */ + inline GetObjectAttributesResult& WithETag(const char* value) { SetETag(value); return *this;} + + + /** + * <p>The checksum or digest of the object.</p> + */ + inline const Checksum& GetChecksum() const{ return m_checksum; } + + /** + * <p>The checksum or digest of the object.</p> + */ + inline void SetChecksum(const Checksum& value) { m_checksum = value; } + + /** + * <p>The checksum or digest of the object.</p> + */ + inline void SetChecksum(Checksum&& value) { m_checksum = std::move(value); } + + /** + * <p>The checksum or digest of the object.</p> + */ + inline GetObjectAttributesResult& WithChecksum(const Checksum& value) { SetChecksum(value); return *this;} + + /** + * <p>The checksum or digest of the object.</p> + */ + inline GetObjectAttributesResult& WithChecksum(Checksum&& value) { SetChecksum(std::move(value)); return *this;} + + + /** + * <p>A collection of parts associated with a multipart upload.</p> + */ + inline const GetObjectAttributesParts& GetObjectParts() const{ return m_objectParts; } + + /** + * <p>A collection of parts associated with a multipart upload.</p> + */ + inline void SetObjectParts(const GetObjectAttributesParts& value) { m_objectParts = value; } + + /** + * <p>A collection of parts associated with a multipart upload.</p> + */ + inline void SetObjectParts(GetObjectAttributesParts&& value) { m_objectParts = std::move(value); } + + /** + * <p>A collection of parts associated with a multipart upload.</p> + */ + inline GetObjectAttributesResult& WithObjectParts(const GetObjectAttributesParts& value) { SetObjectParts(value); return *this;} + + /** + * <p>A collection of parts associated with a multipart upload.</p> + */ + inline GetObjectAttributesResult& WithObjectParts(GetObjectAttributesParts&& value) { SetObjectParts(std::move(value)); return *this;} + + + /** + * <p>Provides the storage class information of the object. Amazon S3 returns this + * header for all objects except for S3 Standard storage class objects.</p> <p>For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a>.</p> + */ + inline const StorageClass& GetStorageClass() const{ return m_storageClass; } + + /** + * <p>Provides the storage class information of the object. Amazon S3 returns this + * header for all objects except for S3 Standard storage class objects.</p> <p>For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a>.</p> + */ + inline void SetStorageClass(const StorageClass& value) { m_storageClass = value; } + + /** + * <p>Provides the storage class information of the object. Amazon S3 returns this + * header for all objects except for S3 Standard storage class objects.</p> <p>For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a>.</p> + */ + inline void SetStorageClass(StorageClass&& value) { m_storageClass = std::move(value); } + + /** + * <p>Provides the storage class information of the object. Amazon S3 returns this + * header for all objects except for S3 Standard storage class objects.</p> <p>For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a>.</p> + */ + inline GetObjectAttributesResult& WithStorageClass(const StorageClass& value) { SetStorageClass(value); return *this;} + + /** + * <p>Provides the storage class information of the object. Amazon S3 returns this + * header for all objects except for S3 Standard storage class objects.</p> <p>For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a>.</p> + */ + inline GetObjectAttributesResult& WithStorageClass(StorageClass&& value) { SetStorageClass(std::move(value)); return *this;} + + + /** + * <p>The size of the object in bytes.</p> + */ + inline long long GetObjectSize() const{ return m_objectSize; } + + /** + * <p>The size of the object in bytes.</p> + */ + inline void SetObjectSize(long long value) { m_objectSize = value; } + + /** + * <p>The size of the object in bytes.</p> + */ + inline GetObjectAttributesResult& WithObjectSize(long long value) { SetObjectSize(value); return *this;} + + private: + + bool m_deleteMarker; + + Aws::Utils::DateTime m_lastModified; + + Aws::String m_versionId; + + RequestCharged m_requestCharged; + + Aws::String m_eTag; + + Checksum m_checksum; + + GetObjectAttributesParts m_objectParts; + + StorageClass m_storageClass; + + long long m_objectSize; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLegalHoldRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLegalHoldRequest.h index e9c4940777..a7d3f6c388 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLegalHoldRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLegalHoldRequest.h @@ -24,10 +24,10 @@ namespace Model /** */ - class AWS_S3_API GetObjectLegalHoldRequest : public S3Request + class GetObjectLegalHoldRequest : public S3Request { public: - GetObjectLegalHoldRequest(); + AWS_S3_API GetObjectLegalHoldRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,203 +35,207 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetObjectLegalHold"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** - * <p>The bucket name containing the object whose Legal Hold status you want to + * <p>The bucket name containing the object whose legal hold status you want to * retrieve. </p> <p>When using this action with an access point, you must direct * requests to the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } /** - * <p>The bucket name containing the object whose Legal Hold status you want to + * <p>The bucket name containing the object whose legal hold status you want to * retrieve. </p> <p>When using this action with an access point, you must direct * requests to the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } /** - * <p>The bucket name containing the object whose Legal Hold status you want to + * <p>The bucket name containing the object whose legal hold status you want to * retrieve. </p> <p>When using this action with an access point, you must direct * requests to the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } /** - * <p>The bucket name containing the object whose Legal Hold status you want to + * <p>The bucket name containing the object whose legal hold status you want to * retrieve. </p> <p>When using this action with an access point, you must direct * requests to the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } /** - * <p>The bucket name containing the object whose Legal Hold status you want to + * <p>The bucket name containing the object whose legal hold status you want to * retrieve. </p> <p>When using this action with an access point, you must direct * requests to the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } /** - * <p>The bucket name containing the object whose Legal Hold status you want to + * <p>The bucket name containing the object whose legal hold status you want to * retrieve. </p> <p>When using this action with an access point, you must direct * requests to the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline GetObjectLegalHoldRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} /** - * <p>The bucket name containing the object whose Legal Hold status you want to + * <p>The bucket name containing the object whose legal hold status you want to * retrieve. </p> <p>When using this action with an access point, you must direct * requests to the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline GetObjectLegalHoldRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} /** - * <p>The bucket name containing the object whose Legal Hold status you want to + * <p>The bucket name containing the object whose legal hold status you want to * retrieve. </p> <p>When using this action with an access point, you must direct * requests to the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline GetObjectLegalHoldRequest& WithBucket(const char* value) { SetBucket(value); return *this;} /** - * <p>The key name for the object whose Legal Hold status you want to retrieve.</p> + * <p>The key name for the object whose legal hold status you want to retrieve.</p> */ inline const Aws::String& GetKey() const{ return m_key; } /** - * <p>The key name for the object whose Legal Hold status you want to retrieve.</p> + * <p>The key name for the object whose legal hold status you want to retrieve.</p> */ inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } /** - * <p>The key name for the object whose Legal Hold status you want to retrieve.</p> + * <p>The key name for the object whose legal hold status you want to retrieve.</p> */ inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } /** - * <p>The key name for the object whose Legal Hold status you want to retrieve.</p> + * <p>The key name for the object whose legal hold status you want to retrieve.</p> */ inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } /** - * <p>The key name for the object whose Legal Hold status you want to retrieve.</p> + * <p>The key name for the object whose legal hold status you want to retrieve.</p> */ inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } /** - * <p>The key name for the object whose Legal Hold status you want to retrieve.</p> + * <p>The key name for the object whose legal hold status you want to retrieve.</p> */ inline GetObjectLegalHoldRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} /** - * <p>The key name for the object whose Legal Hold status you want to retrieve.</p> + * <p>The key name for the object whose legal hold status you want to retrieve.</p> */ inline GetObjectLegalHoldRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} /** - * <p>The key name for the object whose Legal Hold status you want to retrieve.</p> + * <p>The key name for the object whose legal hold status you want to retrieve.</p> */ inline GetObjectLegalHoldRequest& WithKey(const char* value) { SetKey(value); return *this;} /** - * <p>The version ID of the object whose Legal Hold status you want to + * <p>The version ID of the object whose legal hold status you want to * retrieve.</p> */ inline const Aws::String& GetVersionId() const{ return m_versionId; } /** - * <p>The version ID of the object whose Legal Hold status you want to + * <p>The version ID of the object whose legal hold status you want to * retrieve.</p> */ inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } /** - * <p>The version ID of the object whose Legal Hold status you want to + * <p>The version ID of the object whose legal hold status you want to * retrieve.</p> */ inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } /** - * <p>The version ID of the object whose Legal Hold status you want to + * <p>The version ID of the object whose legal hold status you want to * retrieve.</p> */ inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } /** - * <p>The version ID of the object whose Legal Hold status you want to + * <p>The version ID of the object whose legal hold status you want to * retrieve.</p> */ inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } /** - * <p>The version ID of the object whose Legal Hold status you want to + * <p>The version ID of the object whose legal hold status you want to * retrieve.</p> */ inline GetObjectLegalHoldRequest& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} /** - * <p>The version ID of the object whose Legal Hold status you want to + * <p>The version ID of the object whose legal hold status you want to * retrieve.</p> */ inline GetObjectLegalHoldRequest& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} /** - * <p>The version ID of the object whose Legal Hold status you want to + * <p>The version ID of the object whose legal hold status you want to * retrieve.</p> */ inline GetObjectLegalHoldRequest& WithVersionId(const char* value) { SetVersionId(value); return *this;} @@ -258,57 +262,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetObjectLegalHoldRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetObjectLegalHoldRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetObjectLegalHoldRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -355,22 +359,22 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; Aws::String m_versionId; - bool m_versionIdHasBeenSet; + bool m_versionIdHasBeenSet = false; RequestPayer m_requestPayer; - bool m_requestPayerHasBeenSet; + bool m_requestPayerHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLegalHoldResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLegalHoldResult.h index c69ac4c2c4..ce26a4251d 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLegalHoldResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLegalHoldResult.h @@ -24,36 +24,36 @@ namespace S3 { namespace Model { - class AWS_S3_API GetObjectLegalHoldResult + class GetObjectLegalHoldResult { public: - GetObjectLegalHoldResult(); - GetObjectLegalHoldResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - GetObjectLegalHoldResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetObjectLegalHoldResult(); + AWS_S3_API GetObjectLegalHoldResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetObjectLegalHoldResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** - * <p>The current Legal Hold status for the specified object.</p> + * <p>The current legal hold status for the specified object.</p> */ inline const ObjectLockLegalHold& GetLegalHold() const{ return m_legalHold; } /** - * <p>The current Legal Hold status for the specified object.</p> + * <p>The current legal hold status for the specified object.</p> */ inline void SetLegalHold(const ObjectLockLegalHold& value) { m_legalHold = value; } /** - * <p>The current Legal Hold status for the specified object.</p> + * <p>The current legal hold status for the specified object.</p> */ inline void SetLegalHold(ObjectLockLegalHold&& value) { m_legalHold = std::move(value); } /** - * <p>The current Legal Hold status for the specified object.</p> + * <p>The current legal hold status for the specified object.</p> */ inline GetObjectLegalHoldResult& WithLegalHold(const ObjectLockLegalHold& value) { SetLegalHold(value); return *this;} /** - * <p>The current Legal Hold status for the specified object.</p> + * <p>The current legal hold status for the specified object.</p> */ inline GetObjectLegalHoldResult& WithLegalHold(ObjectLockLegalHold&& value) { SetLegalHold(std::move(value)); return *this;} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLockConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLockConfigurationRequest.h index d7ac269545..575ec24d05 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLockConfigurationRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLockConfigurationRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API GetObjectLockConfigurationRequest : public S3Request + class GetObjectLockConfigurationRequest : public S3Request { public: - GetObjectLockConfigurationRequest(); + AWS_S3_API GetObjectLockConfigurationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,23 +34,27 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetObjectLockConfiguration"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket whose Object Lock configuration you want to retrieve.</p> <p>When * using this action with an access point, you must direct requests to the access * point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } @@ -59,11 +63,11 @@ namespace Model * using this action with an access point, you must direct requests to the access * point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } @@ -72,11 +76,11 @@ namespace Model * using this action with an access point, you must direct requests to the access * point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } @@ -85,11 +89,11 @@ namespace Model * using this action with an access point, you must direct requests to the access * point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } @@ -98,11 +102,11 @@ namespace Model * using this action with an access point, you must direct requests to the access * point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } @@ -111,11 +115,11 @@ namespace Model * using this action with an access point, you must direct requests to the access * point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline GetObjectLockConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} @@ -124,11 +128,11 @@ namespace Model * using this action with an access point, you must direct requests to the access * point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline GetObjectLockConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} @@ -137,68 +141,68 @@ namespace Model * using this action with an access point, you must direct requests to the access * point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline GetObjectLockConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetObjectLockConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetObjectLockConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetObjectLockConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -245,13 +249,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLockConfigurationResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLockConfigurationResult.h index 8d1a8701ab..32384b6d0a 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLockConfigurationResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLockConfigurationResult.h @@ -24,12 +24,12 @@ namespace S3 { namespace Model { - class AWS_S3_API GetObjectLockConfigurationResult + class GetObjectLockConfigurationResult { public: - GetObjectLockConfigurationResult(); - GetObjectLockConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - GetObjectLockConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetObjectLockConfigurationResult(); + AWS_S3_API GetObjectLockConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetObjectLockConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRequest.h index 82ef5b73f7..71a4b9e616 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRequest.h @@ -9,6 +9,7 @@ #include <aws/core/utils/memory/stl/AWSString.h> #include <aws/core/utils/DateTime.h> #include <aws/s3/model/RequestPayer.h> +#include <aws/s3/model/ChecksumMode.h> #include <aws/core/utils/memory/stl/AWSMap.h> #include <utility> @@ -25,10 +26,10 @@ namespace Model /** */ - class AWS_S3_API GetObjectRequest : public S3Request + class GetObjectRequest : public S3Request { public: - GetObjectRequest(); + AWS_S3_API GetObjectRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -36,31 +37,42 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetObject"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API bool ShouldValidateResponseChecksum() const override; + + AWS_S3_API Aws::Vector<Aws::String> GetResponseChecksumAlgorithmNames() const override; + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name containing the object. </p> <p>When using this action with an * access point, you must direct requests to the access point hostname. The access * point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this - * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using an + * Object Lambda access point the hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-object-lambda.<i>Region</i>.amazonaws.com.</p> + * <p>When using this action with Amazon S3 on Outposts, you must direct requests + * to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form + * <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } @@ -69,19 +81,22 @@ namespace Model * access point, you must direct requests to the access point hostname. The access * point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this - * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using an + * Object Lambda access point the hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-object-lambda.<i>Region</i>.amazonaws.com.</p> + * <p>When using this action with Amazon S3 on Outposts, you must direct requests + * to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form + * <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } @@ -90,19 +105,22 @@ namespace Model * access point, you must direct requests to the access point hostname. The access * point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this - * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using an + * Object Lambda access point the hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-object-lambda.<i>Region</i>.amazonaws.com.</p> + * <p>When using this action with Amazon S3 on Outposts, you must direct requests + * to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form + * <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } @@ -111,19 +129,22 @@ namespace Model * access point, you must direct requests to the access point hostname. The access * point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this - * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using an + * Object Lambda access point the hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-object-lambda.<i>Region</i>.amazonaws.com.</p> + * <p>When using this action with Amazon S3 on Outposts, you must direct requests + * to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form + * <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } @@ -132,19 +153,22 @@ namespace Model * access point, you must direct requests to the access point hostname. The access * point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this - * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using an + * Object Lambda access point the hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-object-lambda.<i>Region</i>.amazonaws.com.</p> + * <p>When using this action with Amazon S3 on Outposts, you must direct requests + * to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form + * <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } @@ -153,19 +177,22 @@ namespace Model * access point, you must direct requests to the access point hostname. The access * point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this - * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using an + * Object Lambda access point the hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-object-lambda.<i>Region</i>.amazonaws.com.</p> + * <p>When using this action with Amazon S3 on Outposts, you must direct requests + * to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form + * <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline GetObjectRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} @@ -174,19 +201,22 @@ namespace Model * access point, you must direct requests to the access point hostname. The access * point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this - * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using an + * Object Lambda access point the hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-object-lambda.<i>Region</i>.amazonaws.com.</p> + * <p>When using this action with Amazon S3 on Outposts, you must direct requests + * to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form + * <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline GetObjectRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} @@ -195,191 +225,194 @@ namespace Model * access point, you must direct requests to the access point hostname. The access * point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this - * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using an + * Object Lambda access point the hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-object-lambda.<i>Region</i>.amazonaws.com.</p> + * <p>When using this action with Amazon S3 on Outposts, you must direct requests + * to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form + * <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline GetObjectRequest& WithBucket(const char* value) { SetBucket(value); return *this;} /** * <p>Return the object only if its entity tag (ETag) is the same as the one - * specified, otherwise return a 412 (precondition failed).</p> + * specified; otherwise, return a 412 (precondition failed) error.</p> */ inline const Aws::String& GetIfMatch() const{ return m_ifMatch; } /** * <p>Return the object only if its entity tag (ETag) is the same as the one - * specified, otherwise return a 412 (precondition failed).</p> + * specified; otherwise, return a 412 (precondition failed) error.</p> */ inline bool IfMatchHasBeenSet() const { return m_ifMatchHasBeenSet; } /** * <p>Return the object only if its entity tag (ETag) is the same as the one - * specified, otherwise return a 412 (precondition failed).</p> + * specified; otherwise, return a 412 (precondition failed) error.</p> */ inline void SetIfMatch(const Aws::String& value) { m_ifMatchHasBeenSet = true; m_ifMatch = value; } /** * <p>Return the object only if its entity tag (ETag) is the same as the one - * specified, otherwise return a 412 (precondition failed).</p> + * specified; otherwise, return a 412 (precondition failed) error.</p> */ inline void SetIfMatch(Aws::String&& value) { m_ifMatchHasBeenSet = true; m_ifMatch = std::move(value); } /** * <p>Return the object only if its entity tag (ETag) is the same as the one - * specified, otherwise return a 412 (precondition failed).</p> + * specified; otherwise, return a 412 (precondition failed) error.</p> */ inline void SetIfMatch(const char* value) { m_ifMatchHasBeenSet = true; m_ifMatch.assign(value); } /** * <p>Return the object only if its entity tag (ETag) is the same as the one - * specified, otherwise return a 412 (precondition failed).</p> + * specified; otherwise, return a 412 (precondition failed) error.</p> */ inline GetObjectRequest& WithIfMatch(const Aws::String& value) { SetIfMatch(value); return *this;} /** * <p>Return the object only if its entity tag (ETag) is the same as the one - * specified, otherwise return a 412 (precondition failed).</p> + * specified; otherwise, return a 412 (precondition failed) error.</p> */ inline GetObjectRequest& WithIfMatch(Aws::String&& value) { SetIfMatch(std::move(value)); return *this;} /** * <p>Return the object only if its entity tag (ETag) is the same as the one - * specified, otherwise return a 412 (precondition failed).</p> + * specified; otherwise, return a 412 (precondition failed) error.</p> */ inline GetObjectRequest& WithIfMatch(const char* value) { SetIfMatch(value); return *this;} /** - * <p>Return the object only if it has been modified since the specified time, - * otherwise return a 304 (not modified).</p> + * <p>Return the object only if it has been modified since the specified time; + * otherwise, return a 304 (not modified) error.</p> */ inline const Aws::Utils::DateTime& GetIfModifiedSince() const{ return m_ifModifiedSince; } /** - * <p>Return the object only if it has been modified since the specified time, - * otherwise return a 304 (not modified).</p> + * <p>Return the object only if it has been modified since the specified time; + * otherwise, return a 304 (not modified) error.</p> */ inline bool IfModifiedSinceHasBeenSet() const { return m_ifModifiedSinceHasBeenSet; } /** - * <p>Return the object only if it has been modified since the specified time, - * otherwise return a 304 (not modified).</p> + * <p>Return the object only if it has been modified since the specified time; + * otherwise, return a 304 (not modified) error.</p> */ inline void SetIfModifiedSince(const Aws::Utils::DateTime& value) { m_ifModifiedSinceHasBeenSet = true; m_ifModifiedSince = value; } /** - * <p>Return the object only if it has been modified since the specified time, - * otherwise return a 304 (not modified).</p> + * <p>Return the object only if it has been modified since the specified time; + * otherwise, return a 304 (not modified) error.</p> */ inline void SetIfModifiedSince(Aws::Utils::DateTime&& value) { m_ifModifiedSinceHasBeenSet = true; m_ifModifiedSince = std::move(value); } /** - * <p>Return the object only if it has been modified since the specified time, - * otherwise return a 304 (not modified).</p> + * <p>Return the object only if it has been modified since the specified time; + * otherwise, return a 304 (not modified) error.</p> */ inline GetObjectRequest& WithIfModifiedSince(const Aws::Utils::DateTime& value) { SetIfModifiedSince(value); return *this;} /** - * <p>Return the object only if it has been modified since the specified time, - * otherwise return a 304 (not modified).</p> + * <p>Return the object only if it has been modified since the specified time; + * otherwise, return a 304 (not modified) error.</p> */ inline GetObjectRequest& WithIfModifiedSince(Aws::Utils::DateTime&& value) { SetIfModifiedSince(std::move(value)); return *this;} /** * <p>Return the object only if its entity tag (ETag) is different from the one - * specified, otherwise return a 304 (not modified).</p> + * specified; otherwise, return a 304 (not modified) error.</p> */ inline const Aws::String& GetIfNoneMatch() const{ return m_ifNoneMatch; } /** * <p>Return the object only if its entity tag (ETag) is different from the one - * specified, otherwise return a 304 (not modified).</p> + * specified; otherwise, return a 304 (not modified) error.</p> */ inline bool IfNoneMatchHasBeenSet() const { return m_ifNoneMatchHasBeenSet; } /** * <p>Return the object only if its entity tag (ETag) is different from the one - * specified, otherwise return a 304 (not modified).</p> + * specified; otherwise, return a 304 (not modified) error.</p> */ inline void SetIfNoneMatch(const Aws::String& value) { m_ifNoneMatchHasBeenSet = true; m_ifNoneMatch = value; } /** * <p>Return the object only if its entity tag (ETag) is different from the one - * specified, otherwise return a 304 (not modified).</p> + * specified; otherwise, return a 304 (not modified) error.</p> */ inline void SetIfNoneMatch(Aws::String&& value) { m_ifNoneMatchHasBeenSet = true; m_ifNoneMatch = std::move(value); } /** * <p>Return the object only if its entity tag (ETag) is different from the one - * specified, otherwise return a 304 (not modified).</p> + * specified; otherwise, return a 304 (not modified) error.</p> */ inline void SetIfNoneMatch(const char* value) { m_ifNoneMatchHasBeenSet = true; m_ifNoneMatch.assign(value); } /** * <p>Return the object only if its entity tag (ETag) is different from the one - * specified, otherwise return a 304 (not modified).</p> + * specified; otherwise, return a 304 (not modified) error.</p> */ inline GetObjectRequest& WithIfNoneMatch(const Aws::String& value) { SetIfNoneMatch(value); return *this;} /** * <p>Return the object only if its entity tag (ETag) is different from the one - * specified, otherwise return a 304 (not modified).</p> + * specified; otherwise, return a 304 (not modified) error.</p> */ inline GetObjectRequest& WithIfNoneMatch(Aws::String&& value) { SetIfNoneMatch(std::move(value)); return *this;} /** * <p>Return the object only if its entity tag (ETag) is different from the one - * specified, otherwise return a 304 (not modified).</p> + * specified; otherwise, return a 304 (not modified) error.</p> */ inline GetObjectRequest& WithIfNoneMatch(const char* value) { SetIfNoneMatch(value); return *this;} /** - * <p>Return the object only if it has not been modified since the specified time, - * otherwise return a 412 (precondition failed).</p> + * <p>Return the object only if it has not been modified since the specified time; + * otherwise, return a 412 (precondition failed) error.</p> */ inline const Aws::Utils::DateTime& GetIfUnmodifiedSince() const{ return m_ifUnmodifiedSince; } /** - * <p>Return the object only if it has not been modified since the specified time, - * otherwise return a 412 (precondition failed).</p> + * <p>Return the object only if it has not been modified since the specified time; + * otherwise, return a 412 (precondition failed) error.</p> */ inline bool IfUnmodifiedSinceHasBeenSet() const { return m_ifUnmodifiedSinceHasBeenSet; } /** - * <p>Return the object only if it has not been modified since the specified time, - * otherwise return a 412 (precondition failed).</p> + * <p>Return the object only if it has not been modified since the specified time; + * otherwise, return a 412 (precondition failed) error.</p> */ inline void SetIfUnmodifiedSince(const Aws::Utils::DateTime& value) { m_ifUnmodifiedSinceHasBeenSet = true; m_ifUnmodifiedSince = value; } /** - * <p>Return the object only if it has not been modified since the specified time, - * otherwise return a 412 (precondition failed).</p> + * <p>Return the object only if it has not been modified since the specified time; + * otherwise, return a 412 (precondition failed) error.</p> */ inline void SetIfUnmodifiedSince(Aws::Utils::DateTime&& value) { m_ifUnmodifiedSinceHasBeenSet = true; m_ifUnmodifiedSince = std::move(value); } /** - * <p>Return the object only if it has not been modified since the specified time, - * otherwise return a 412 (precondition failed).</p> + * <p>Return the object only if it has not been modified since the specified time; + * otherwise, return a 412 (precondition failed) error.</p> */ inline GetObjectRequest& WithIfUnmodifiedSince(const Aws::Utils::DateTime& value) { SetIfUnmodifiedSince(value); return *this;} /** - * <p>Return the object only if it has not been modified since the specified time, - * otherwise return a 412 (precondition failed).</p> + * <p>Return the object only if it has not been modified since the specified time; + * otherwise, return a 412 (precondition failed) error.</p> */ inline GetObjectRequest& WithIfUnmodifiedSince(Aws::Utils::DateTime&& value) { SetIfUnmodifiedSince(std::move(value)); return *this;} @@ -1004,61 +1037,92 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetObjectRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetObjectRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetObjectRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + /** + * <p>To retrieve the checksum, this mode must be enabled.</p> + */ + inline const ChecksumMode& GetChecksumMode() const{ return m_checksumMode; } + + /** + * <p>To retrieve the checksum, this mode must be enabled.</p> + */ + inline bool ChecksumModeHasBeenSet() const { return m_checksumModeHasBeenSet; } + + /** + * <p>To retrieve the checksum, this mode must be enabled.</p> + */ + inline void SetChecksumMode(const ChecksumMode& value) { m_checksumModeHasBeenSet = true; m_checksumMode = value; } + + /** + * <p>To retrieve the checksum, this mode must be enabled.</p> + */ + inline void SetChecksumMode(ChecksumMode&& value) { m_checksumModeHasBeenSet = true; m_checksumMode = std::move(value); } + + /** + * <p>To retrieve the checksum, this mode must be enabled.</p> + */ + inline GetObjectRequest& WithChecksumMode(const ChecksumMode& value) { SetChecksumMode(value); return *this;} + + /** + * <p>To retrieve the checksum, this mode must be enabled.</p> + */ + inline GetObjectRequest& WithChecksumMode(ChecksumMode&& value) { SetChecksumMode(std::move(value)); return *this;} + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } @@ -1101,67 +1165,70 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_ifMatch; - bool m_ifMatchHasBeenSet; + bool m_ifMatchHasBeenSet = false; Aws::Utils::DateTime m_ifModifiedSince; - bool m_ifModifiedSinceHasBeenSet; + bool m_ifModifiedSinceHasBeenSet = false; Aws::String m_ifNoneMatch; - bool m_ifNoneMatchHasBeenSet; + bool m_ifNoneMatchHasBeenSet = false; Aws::Utils::DateTime m_ifUnmodifiedSince; - bool m_ifUnmodifiedSinceHasBeenSet; + bool m_ifUnmodifiedSinceHasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; Aws::String m_range; - bool m_rangeHasBeenSet; + bool m_rangeHasBeenSet = false; Aws::String m_responseCacheControl; - bool m_responseCacheControlHasBeenSet; + bool m_responseCacheControlHasBeenSet = false; Aws::String m_responseContentDisposition; - bool m_responseContentDispositionHasBeenSet; + bool m_responseContentDispositionHasBeenSet = false; Aws::String m_responseContentEncoding; - bool m_responseContentEncodingHasBeenSet; + bool m_responseContentEncodingHasBeenSet = false; Aws::String m_responseContentLanguage; - bool m_responseContentLanguageHasBeenSet; + bool m_responseContentLanguageHasBeenSet = false; Aws::String m_responseContentType; - bool m_responseContentTypeHasBeenSet; + bool m_responseContentTypeHasBeenSet = false; Aws::Utils::DateTime m_responseExpires; - bool m_responseExpiresHasBeenSet; + bool m_responseExpiresHasBeenSet = false; Aws::String m_versionId; - bool m_versionIdHasBeenSet; + bool m_versionIdHasBeenSet = false; Aws::String m_sSECustomerAlgorithm; - bool m_sSECustomerAlgorithmHasBeenSet; + bool m_sSECustomerAlgorithmHasBeenSet = false; Aws::String m_sSECustomerKey; - bool m_sSECustomerKeyHasBeenSet; + bool m_sSECustomerKeyHasBeenSet = false; Aws::String m_sSECustomerKeyMD5; - bool m_sSECustomerKeyMD5HasBeenSet; + bool m_sSECustomerKeyMD5HasBeenSet = false; RequestPayer m_requestPayer; - bool m_requestPayerHasBeenSet; + bool m_requestPayerHasBeenSet = false; int m_partNumber; - bool m_partNumberHasBeenSet; + bool m_partNumberHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; + + ChecksumMode m_checksumMode; + bool m_checksumModeHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectResult.h index cac0384d29..d19738ba59 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectResult.h @@ -27,28 +27,28 @@ namespace S3 { namespace Model { - class AWS_S3_API GetObjectResult + class GetObjectResult { public: - GetObjectResult(); + AWS_S3_API GetObjectResult(); //We have to define these because Microsoft doesn't auto generate them - GetObjectResult(GetObjectResult&&); - GetObjectResult& operator=(GetObjectResult&&); + AWS_S3_API GetObjectResult(GetObjectResult&&); + AWS_S3_API GetObjectResult& operator=(GetObjectResult&&); //we delete these because Microsoft doesn't handle move generation correctly //and we therefore don't trust them to get it right here either. GetObjectResult(const GetObjectResult&) = delete; GetObjectResult& operator=(const GetObjectResult&) = delete; - GetObjectResult(Aws::AmazonWebServiceResult<Aws::Utils::Stream::ResponseStream>&& result); - GetObjectResult& operator=(Aws::AmazonWebServiceResult<Aws::Utils::Stream::ResponseStream>&& result); + AWS_S3_API GetObjectResult(Aws::AmazonWebServiceResult<Aws::Utils::Stream::ResponseStream>&& result); + AWS_S3_API GetObjectResult& operator=(Aws::AmazonWebServiceResult<Aws::Utils::Stream::ResponseStream>&& result); /** * <p>Object data.</p> */ - inline Aws::IOStream& GetBody() { return m_body.GetUnderlyingStream(); } + inline Aws::IOStream& GetBody() const { return m_body.GetUnderlyingStream(); } /** * <p>Object data.</p> @@ -113,57 +113,57 @@ namespace Model /** * <p>If the object expiration is configured (see PUT Bucket lifecycle), the - * response includes this header. It includes the expiry-date and rule-id key-value - * pairs providing object expiration information. The value of the rule-id is URL - * encoded.</p> + * response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs providing object expiration information. + * The value of the <code>rule-id</code> is URL-encoded.</p> */ inline const Aws::String& GetExpiration() const{ return m_expiration; } /** * <p>If the object expiration is configured (see PUT Bucket lifecycle), the - * response includes this header. It includes the expiry-date and rule-id key-value - * pairs providing object expiration information. The value of the rule-id is URL - * encoded.</p> + * response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs providing object expiration information. + * The value of the <code>rule-id</code> is URL-encoded.</p> */ inline void SetExpiration(const Aws::String& value) { m_expiration = value; } /** * <p>If the object expiration is configured (see PUT Bucket lifecycle), the - * response includes this header. It includes the expiry-date and rule-id key-value - * pairs providing object expiration information. The value of the rule-id is URL - * encoded.</p> + * response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs providing object expiration information. + * The value of the <code>rule-id</code> is URL-encoded.</p> */ inline void SetExpiration(Aws::String&& value) { m_expiration = std::move(value); } /** * <p>If the object expiration is configured (see PUT Bucket lifecycle), the - * response includes this header. It includes the expiry-date and rule-id key-value - * pairs providing object expiration information. The value of the rule-id is URL - * encoded.</p> + * response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs providing object expiration information. + * The value of the <code>rule-id</code> is URL-encoded.</p> */ inline void SetExpiration(const char* value) { m_expiration.assign(value); } /** * <p>If the object expiration is configured (see PUT Bucket lifecycle), the - * response includes this header. It includes the expiry-date and rule-id key-value - * pairs providing object expiration information. The value of the rule-id is URL - * encoded.</p> + * response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs providing object expiration information. + * The value of the <code>rule-id</code> is URL-encoded.</p> */ inline GetObjectResult& WithExpiration(const Aws::String& value) { SetExpiration(value); return *this;} /** * <p>If the object expiration is configured (see PUT Bucket lifecycle), the - * response includes this header. It includes the expiry-date and rule-id key-value - * pairs providing object expiration information. The value of the rule-id is URL - * encoded.</p> + * response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs providing object expiration information. + * The value of the <code>rule-id</code> is URL-encoded.</p> */ inline GetObjectResult& WithExpiration(Aws::String&& value) { SetExpiration(std::move(value)); return *this;} /** * <p>If the object expiration is configured (see PUT Bucket lifecycle), the - * response includes this header. It includes the expiry-date and rule-id key-value - * pairs providing object expiration information. The value of the rule-id is URL - * encoded.</p> + * response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs providing object expiration information. + * The value of the <code>rule-id</code> is URL-encoded.</p> */ inline GetObjectResult& WithExpiration(const char* value) { SetExpiration(value); return *this;} @@ -254,49 +254,333 @@ namespace Model /** - * <p>An ETag is an opaque identifier assigned by a web server to a specific - * version of a resource found at a URL.</p> + * <p>An entity tag (ETag) is an opaque identifier assigned by a web server to a + * specific version of a resource found at a URL.</p> */ inline const Aws::String& GetETag() const{ return m_eTag; } /** - * <p>An ETag is an opaque identifier assigned by a web server to a specific - * version of a resource found at a URL.</p> + * <p>An entity tag (ETag) is an opaque identifier assigned by a web server to a + * specific version of a resource found at a URL.</p> */ inline void SetETag(const Aws::String& value) { m_eTag = value; } /** - * <p>An ETag is an opaque identifier assigned by a web server to a specific - * version of a resource found at a URL.</p> + * <p>An entity tag (ETag) is an opaque identifier assigned by a web server to a + * specific version of a resource found at a URL.</p> */ inline void SetETag(Aws::String&& value) { m_eTag = std::move(value); } /** - * <p>An ETag is an opaque identifier assigned by a web server to a specific - * version of a resource found at a URL.</p> + * <p>An entity tag (ETag) is an opaque identifier assigned by a web server to a + * specific version of a resource found at a URL.</p> */ inline void SetETag(const char* value) { m_eTag.assign(value); } /** - * <p>An ETag is an opaque identifier assigned by a web server to a specific - * version of a resource found at a URL.</p> + * <p>An entity tag (ETag) is an opaque identifier assigned by a web server to a + * specific version of a resource found at a URL.</p> */ inline GetObjectResult& WithETag(const Aws::String& value) { SetETag(value); return *this;} /** - * <p>An ETag is an opaque identifier assigned by a web server to a specific - * version of a resource found at a URL.</p> + * <p>An entity tag (ETag) is an opaque identifier assigned by a web server to a + * specific version of a resource found at a URL.</p> */ inline GetObjectResult& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} /** - * <p>An ETag is an opaque identifier assigned by a web server to a specific - * version of a resource found at a URL.</p> + * <p>An entity tag (ETag) is an opaque identifier assigned by a web server to a + * specific version of a resource found at a URL.</p> */ inline GetObjectResult& WithETag(const char* value) { SetETag(value); return *this;} /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32() const{ return m_checksumCRC32; } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const Aws::String& value) { m_checksumCRC32 = value; } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(Aws::String&& value) { m_checksumCRC32 = std::move(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const char* value) { m_checksumCRC32.assign(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline GetObjectResult& WithChecksumCRC32(const Aws::String& value) { SetChecksumCRC32(value); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline GetObjectResult& WithChecksumCRC32(Aws::String&& value) { SetChecksumCRC32(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline GetObjectResult& WithChecksumCRC32(const char* value) { SetChecksumCRC32(value); return *this;} + + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32C() const{ return m_checksumCRC32C; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const Aws::String& value) { m_checksumCRC32C = value; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(Aws::String&& value) { m_checksumCRC32C = std::move(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const char* value) { m_checksumCRC32C.assign(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline GetObjectResult& WithChecksumCRC32C(const Aws::String& value) { SetChecksumCRC32C(value); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline GetObjectResult& WithChecksumCRC32C(Aws::String&& value) { SetChecksumCRC32C(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline GetObjectResult& WithChecksumCRC32C(const char* value) { SetChecksumCRC32C(value); return *this;} + + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA1() const{ return m_checksumSHA1; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const Aws::String& value) { m_checksumSHA1 = value; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(Aws::String&& value) { m_checksumSHA1 = std::move(value); } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const char* value) { m_checksumSHA1.assign(value); } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline GetObjectResult& WithChecksumSHA1(const Aws::String& value) { SetChecksumSHA1(value); return *this;} + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline GetObjectResult& WithChecksumSHA1(Aws::String&& value) { SetChecksumSHA1(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline GetObjectResult& WithChecksumSHA1(const char* value) { SetChecksumSHA1(value); return *this;} + + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA256() const{ return m_checksumSHA256; } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const Aws::String& value) { m_checksumSHA256 = value; } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(Aws::String&& value) { m_checksumSHA256 = std::move(value); } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const char* value) { m_checksumSHA256.assign(value); } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline GetObjectResult& WithChecksumSHA256(const Aws::String& value) { SetChecksumSHA256(value); return *this;} + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline GetObjectResult& WithChecksumSHA256(Aws::String&& value) { SetChecksumSHA256(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline GetObjectResult& WithChecksumSHA256(const char* value) { SetChecksumSHA256(value); return *this;} + + + /** * <p>This is set to the number of metadata entries not returned in * <code>x-amz-meta</code> headers. This can happen if you create metadata using an * API like SOAP that supports more flexible metadata than the REST API. For @@ -859,70 +1143,70 @@ namespace Model /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyId = value; } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyId = std::move(value); } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyId.assign(value); } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline GetObjectResult& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline GetObjectResult& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline GetObjectResult& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} /** * <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption - * with AWS KMS (SSE-KMS).</p> + * with Amazon Web Services KMS (SSE-KMS).</p> */ inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } /** * <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption - * with AWS KMS (SSE-KMS).</p> + * with Amazon Web Services KMS (SSE-KMS).</p> */ inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabled = value; } /** * <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption - * with AWS KMS (SSE-KMS).</p> + * with Amazon Web Services KMS (SSE-KMS).</p> */ inline GetObjectResult& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;} @@ -1006,17 +1290,23 @@ namespace Model /** - * <p>The count of parts this object has.</p> + * <p>The count of parts this object has. This value is only returned if you + * specify <code>partNumber</code> in your request and the object was uploaded as a + * multipart upload.</p> */ inline int GetPartsCount() const{ return m_partsCount; } /** - * <p>The count of parts this object has.</p> + * <p>The count of parts this object has. This value is only returned if you + * specify <code>partNumber</code> in your request and the object was uploaded as a + * multipart upload.</p> */ inline void SetPartsCount(int value) { m_partsCount = value; } /** - * <p>The count of parts this object has.</p> + * <p>The count of parts this object has. This value is only returned if you + * specify <code>partNumber</code> in your request and the object was uploaded as a + * multipart upload.</p> */ inline GetObjectResult& WithPartsCount(int value) { SetPartsCount(value); return *this;} @@ -1165,7 +1455,7 @@ namespace Model private: - Aws::Utils::Stream::ResponseStream m_body; + Aws::Utils::Stream::ResponseStream m_body; bool m_deleteMarker; @@ -1181,6 +1471,14 @@ namespace Model Aws::String m_eTag; + Aws::String m_checksumCRC32; + + Aws::String m_checksumCRC32C; + + Aws::String m_checksumSHA1; + + Aws::String m_checksumSHA256; + int m_missingMeta; Aws::String m_versionId; diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRetentionRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRetentionRequest.h index 15f8adc388..9687dc8dec 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRetentionRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRetentionRequest.h @@ -24,10 +24,10 @@ namespace Model /** */ - class AWS_S3_API GetObjectRetentionRequest : public S3Request + class GetObjectRetentionRequest : public S3Request { public: - GetObjectRetentionRequest(); + AWS_S3_API GetObjectRetentionRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,23 +35,27 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetObjectRetention"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name containing the object whose retention settings you want to * retrieve. </p> <p>When using this action with an access point, you must direct * requests to the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } @@ -60,11 +64,11 @@ namespace Model * retrieve. </p> <p>When using this action with an access point, you must direct * requests to the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } @@ -73,11 +77,11 @@ namespace Model * retrieve. </p> <p>When using this action with an access point, you must direct * requests to the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } @@ -86,11 +90,11 @@ namespace Model * retrieve. </p> <p>When using this action with an access point, you must direct * requests to the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } @@ -99,11 +103,11 @@ namespace Model * retrieve. </p> <p>When using this action with an access point, you must direct * requests to the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } @@ -112,11 +116,11 @@ namespace Model * retrieve. </p> <p>When using this action with an access point, you must direct * requests to the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline GetObjectRetentionRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} @@ -125,11 +129,11 @@ namespace Model * retrieve. </p> <p>When using this action with an access point, you must direct * requests to the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline GetObjectRetentionRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} @@ -138,11 +142,11 @@ namespace Model * retrieve. </p> <p>When using this action with an access point, you must direct * requests to the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline GetObjectRetentionRequest& WithBucket(const char* value) { SetBucket(value); return *this;} @@ -266,57 +270,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetObjectRetentionRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetObjectRetentionRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetObjectRetentionRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -363,22 +367,22 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; Aws::String m_versionId; - bool m_versionIdHasBeenSet; + bool m_versionIdHasBeenSet = false; RequestPayer m_requestPayer; - bool m_requestPayerHasBeenSet; + bool m_requestPayerHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRetentionResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRetentionResult.h index 13c5e6b25d..3e05d76c10 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRetentionResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRetentionResult.h @@ -24,12 +24,12 @@ namespace S3 { namespace Model { - class AWS_S3_API GetObjectRetentionResult + class GetObjectRetentionResult { public: - GetObjectRetentionResult(); - GetObjectRetentionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - GetObjectRetentionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetObjectRetentionResult(); + AWS_S3_API GetObjectRetentionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetObjectRetentionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTaggingRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTaggingRequest.h index b29119c226..068557654f 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTaggingRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTaggingRequest.h @@ -24,10 +24,10 @@ namespace Model /** */ - class AWS_S3_API GetObjectTaggingRequest : public S3Request + class GetObjectTaggingRequest : public S3Request { public: - GetObjectTaggingRequest(); + AWS_S3_API GetObjectTaggingRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,12 +35,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetObjectTagging"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name containing the object for which to get the tagging @@ -48,19 +52,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } @@ -70,19 +74,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } @@ -92,19 +96,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } @@ -114,19 +118,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } @@ -136,19 +140,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } @@ -158,19 +162,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline GetObjectTaggingRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} @@ -180,19 +184,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline GetObjectTaggingRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} @@ -202,19 +206,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline GetObjectTaggingRequest& WithBucket(const char* value) { SetBucket(value); return *this;} @@ -303,57 +307,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetObjectTaggingRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetObjectTaggingRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetObjectTaggingRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -419,22 +423,22 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; Aws::String m_versionId; - bool m_versionIdHasBeenSet; + bool m_versionIdHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; RequestPayer m_requestPayer; - bool m_requestPayerHasBeenSet; + bool m_requestPayerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTaggingResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTaggingResult.h index c945f85e61..c307b802a5 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTaggingResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTaggingResult.h @@ -26,12 +26,12 @@ namespace S3 { namespace Model { - class AWS_S3_API GetObjectTaggingResult + class GetObjectTaggingResult { public: - GetObjectTaggingResult(); - GetObjectTaggingResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - GetObjectTaggingResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetObjectTaggingResult(); + AWS_S3_API GetObjectTaggingResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetObjectTaggingResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTorrentRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTorrentRequest.h index 08f359e8da..a01a7901a1 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTorrentRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTorrentRequest.h @@ -24,10 +24,10 @@ namespace Model /** */ - class AWS_S3_API GetObjectTorrentRequest : public S3Request + class GetObjectTorrentRequest : public S3Request { public: - GetObjectTorrentRequest(); + AWS_S3_API GetObjectTorrentRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,12 +35,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetObjectTorrent"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket containing the object for which to get the torrent @@ -153,57 +157,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetObjectTorrentRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetObjectTorrentRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetObjectTorrentRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -250,19 +254,19 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; RequestPayer m_requestPayer; - bool m_requestPayerHasBeenSet; + bool m_requestPayerHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTorrentResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTorrentResult.h index 97c8b3edf9..546c6d1c26 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTorrentResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTorrentResult.h @@ -19,28 +19,28 @@ namespace S3 { namespace Model { - class AWS_S3_API GetObjectTorrentResult + class GetObjectTorrentResult { public: - GetObjectTorrentResult(); + AWS_S3_API GetObjectTorrentResult(); //We have to define these because Microsoft doesn't auto generate them - GetObjectTorrentResult(GetObjectTorrentResult&&); - GetObjectTorrentResult& operator=(GetObjectTorrentResult&&); + AWS_S3_API GetObjectTorrentResult(GetObjectTorrentResult&&); + AWS_S3_API GetObjectTorrentResult& operator=(GetObjectTorrentResult&&); //we delete these because Microsoft doesn't handle move generation correctly //and we therefore don't trust them to get it right here either. GetObjectTorrentResult(const GetObjectTorrentResult&) = delete; GetObjectTorrentResult& operator=(const GetObjectTorrentResult&) = delete; - GetObjectTorrentResult(Aws::AmazonWebServiceResult<Aws::Utils::Stream::ResponseStream>&& result); - GetObjectTorrentResult& operator=(Aws::AmazonWebServiceResult<Aws::Utils::Stream::ResponseStream>&& result); + AWS_S3_API GetObjectTorrentResult(Aws::AmazonWebServiceResult<Aws::Utils::Stream::ResponseStream>&& result); + AWS_S3_API GetObjectTorrentResult& operator=(Aws::AmazonWebServiceResult<Aws::Utils::Stream::ResponseStream>&& result); /** * <p>A Bencoded dictionary as defined by the BitTorrent specification</p> */ - inline Aws::IOStream& GetBody() { return m_body.GetUnderlyingStream(); } + inline Aws::IOStream& GetBody() const { return m_body.GetUnderlyingStream(); } /** * <p>A Bencoded dictionary as defined by the BitTorrent specification</p> @@ -65,7 +65,7 @@ namespace Model private: - Aws::Utils::Stream::ResponseStream m_body; + Aws::Utils::Stream::ResponseStream m_body; RequestCharged m_requestCharged; }; diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetPublicAccessBlockRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetPublicAccessBlockRequest.h index 1648400d7a..bbc11f1539 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetPublicAccessBlockRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetPublicAccessBlockRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API GetPublicAccessBlockRequest : public S3Request + class GetPublicAccessBlockRequest : public S3Request { public: - GetPublicAccessBlockRequest(); + AWS_S3_API GetPublicAccessBlockRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetPublicAccessBlock"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the Amazon S3 bucket whose <code>PublicAccessBlock</code> @@ -92,57 +96,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetPublicAccessBlockRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetPublicAccessBlockRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline GetPublicAccessBlockRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -189,13 +193,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetPublicAccessBlockResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetPublicAccessBlockResult.h index 22d40032cb..05907ca4c0 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetPublicAccessBlockResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetPublicAccessBlockResult.h @@ -24,12 +24,12 @@ namespace S3 { namespace Model { - class AWS_S3_API GetPublicAccessBlockResult + class GetPublicAccessBlockResult { public: - GetPublicAccessBlockResult(); - GetPublicAccessBlockResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - GetPublicAccessBlockResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetPublicAccessBlockResult(); + AWS_S3_API GetPublicAccessBlockResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API GetPublicAccessBlockResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GlacierJobParameters.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GlacierJobParameters.h index d6fcfdaee3..daf8e7eccc 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GlacierJobParameters.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GlacierJobParameters.h @@ -27,14 +27,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GlacierJobParameters">AWS * API Reference</a></p> */ - class AWS_S3_API GlacierJobParameters + class GlacierJobParameters { public: - GlacierJobParameters(); - GlacierJobParameters(const Aws::Utils::Xml::XmlNode& xmlNode); - GlacierJobParameters& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API GlacierJobParameters(); + AWS_S3_API GlacierJobParameters(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API GlacierJobParameters& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -70,7 +70,7 @@ namespace Model private: Tier m_tier; - bool m_tierHasBeenSet; + bool m_tierHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Grant.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Grant.h index 392c95090e..90af4c1f4c 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Grant.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Grant.h @@ -28,14 +28,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Grant">AWS API * Reference</a></p> */ - class AWS_S3_API Grant + class Grant { public: - Grant(); - Grant(const Aws::Utils::Xml::XmlNode& xmlNode); - Grant& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Grant(); + AWS_S3_API Grant(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Grant& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -102,10 +102,10 @@ namespace Model private: Grantee m_grantee; - bool m_granteeHasBeenSet; + bool m_granteeHasBeenSet = false; Permission m_permission; - bool m_permissionHasBeenSet; + bool m_permissionHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Grantee.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Grantee.h index a6715e45cd..1e6ad003d9 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Grantee.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Grantee.h @@ -28,14 +28,14 @@ namespace Model * <a href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Grantee">AWS API * Reference</a></p> */ - class AWS_S3_API Grantee + class Grantee { public: - Grantee(); - Grantee(const Aws::Utils::Xml::XmlNode& xmlNode); - Grantee& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Grantee(); + AWS_S3_API Grantee(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Grantee& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -81,105 +81,113 @@ namespace Model /** * <p>Email address of the grantee.</p> <p>Using email addresses to specify - * a grantee is only supported in the following AWS Regions: </p> <ul> <li> <p>US - * East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> <li> <p> - * US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> <li> - * <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> <li> - * <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> </ul> - * <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * a grantee is only supported in the following Amazon Web Services Regions: </p> + * <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> + * </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> + * </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> + * </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> + * </li> </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, + * see <a * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> + * and Endpoints</a> in the Amazon Web Services General Reference.</p> */ inline const Aws::String& GetEmailAddress() const{ return m_emailAddress; } /** * <p>Email address of the grantee.</p> <p>Using email addresses to specify - * a grantee is only supported in the following AWS Regions: </p> <ul> <li> <p>US - * East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> <li> <p> - * US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> <li> - * <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> <li> - * <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> </ul> - * <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * a grantee is only supported in the following Amazon Web Services Regions: </p> + * <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> + * </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> + * </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> + * </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> + * </li> </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, + * see <a * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> + * and Endpoints</a> in the Amazon Web Services General Reference.</p> */ inline bool EmailAddressHasBeenSet() const { return m_emailAddressHasBeenSet; } /** * <p>Email address of the grantee.</p> <p>Using email addresses to specify - * a grantee is only supported in the following AWS Regions: </p> <ul> <li> <p>US - * East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> <li> <p> - * US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> <li> - * <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> <li> - * <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> </ul> - * <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * a grantee is only supported in the following Amazon Web Services Regions: </p> + * <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> + * </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> + * </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> + * </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> + * </li> </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, + * see <a * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> + * and Endpoints</a> in the Amazon Web Services General Reference.</p> */ inline void SetEmailAddress(const Aws::String& value) { m_emailAddressHasBeenSet = true; m_emailAddress = value; } /** * <p>Email address of the grantee.</p> <p>Using email addresses to specify - * a grantee is only supported in the following AWS Regions: </p> <ul> <li> <p>US - * East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> <li> <p> - * US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> <li> - * <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> <li> - * <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> </ul> - * <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * a grantee is only supported in the following Amazon Web Services Regions: </p> + * <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> + * </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> + * </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> + * </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> + * </li> </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, + * see <a * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> + * and Endpoints</a> in the Amazon Web Services General Reference.</p> */ inline void SetEmailAddress(Aws::String&& value) { m_emailAddressHasBeenSet = true; m_emailAddress = std::move(value); } /** * <p>Email address of the grantee.</p> <p>Using email addresses to specify - * a grantee is only supported in the following AWS Regions: </p> <ul> <li> <p>US - * East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> <li> <p> - * US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> <li> - * <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> <li> - * <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> </ul> - * <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * a grantee is only supported in the following Amazon Web Services Regions: </p> + * <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> + * </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> + * </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> + * </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> + * </li> </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, + * see <a * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> + * and Endpoints</a> in the Amazon Web Services General Reference.</p> */ inline void SetEmailAddress(const char* value) { m_emailAddressHasBeenSet = true; m_emailAddress.assign(value); } /** * <p>Email address of the grantee.</p> <p>Using email addresses to specify - * a grantee is only supported in the following AWS Regions: </p> <ul> <li> <p>US - * East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> <li> <p> - * US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> <li> - * <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> <li> - * <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> </ul> - * <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * a grantee is only supported in the following Amazon Web Services Regions: </p> + * <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> + * </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> + * </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> + * </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> + * </li> </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, + * see <a * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> + * and Endpoints</a> in the Amazon Web Services General Reference.</p> */ inline Grantee& WithEmailAddress(const Aws::String& value) { SetEmailAddress(value); return *this;} /** * <p>Email address of the grantee.</p> <p>Using email addresses to specify - * a grantee is only supported in the following AWS Regions: </p> <ul> <li> <p>US - * East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> <li> <p> - * US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> <li> - * <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> <li> - * <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> </ul> - * <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * a grantee is only supported in the following Amazon Web Services Regions: </p> + * <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> + * </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> + * </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> + * </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> + * </li> </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, + * see <a * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> + * and Endpoints</a> in the Amazon Web Services General Reference.</p> */ inline Grantee& WithEmailAddress(Aws::String&& value) { SetEmailAddress(std::move(value)); return *this;} /** * <p>Email address of the grantee.</p> <p>Using email addresses to specify - * a grantee is only supported in the following AWS Regions: </p> <ul> <li> <p>US - * East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> <li> <p> - * US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> <li> - * <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> <li> - * <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> </ul> - * <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * a grantee is only supported in the following Amazon Web Services Regions: </p> + * <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> + * </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> + * </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> + * </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> + * </li> </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, + * see <a * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions - * and Endpoints</a> in the AWS General Reference.</p> + * and Endpoints</a> in the Amazon Web Services General Reference.</p> */ inline Grantee& WithEmailAddress(const char* value) { SetEmailAddress(value); return *this;} @@ -299,19 +307,19 @@ namespace Model private: Aws::String m_displayName; - bool m_displayNameHasBeenSet; + bool m_displayNameHasBeenSet = false; Aws::String m_emailAddress; - bool m_emailAddressHasBeenSet; + bool m_emailAddressHasBeenSet = false; Aws::String m_iD; - bool m_iDHasBeenSet; + bool m_iDHasBeenSet = false; Type m_type; - bool m_typeHasBeenSet; + bool m_typeHasBeenSet = false; Aws::String m_uRI; - bool m_uRIHasBeenSet; + bool m_uRIHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketRequest.h index 40078434f3..7c9c4240c9 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API HeadBucketRequest : public S3Request + class HeadBucketRequest : public S3Request { public: - HeadBucketRequest(); + AWS_S3_API HeadBucketRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,31 +34,35 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "HeadBucket"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name.</p> <p>When using this action with an access point, you must * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } @@ -67,19 +71,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } @@ -88,19 +92,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } @@ -109,19 +113,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } @@ -130,19 +134,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } @@ -151,19 +155,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline HeadBucketRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} @@ -172,19 +176,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline HeadBucketRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} @@ -193,76 +197,76 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline HeadBucketRequest& WithBucket(const char* value) { SetBucket(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline HeadBucketRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline HeadBucketRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline HeadBucketRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -309,13 +313,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectRequest.h index 88865df794..a507cf6ad7 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectRequest.h @@ -9,6 +9,7 @@ #include <aws/core/utils/memory/stl/AWSString.h> #include <aws/core/utils/DateTime.h> #include <aws/s3/model/RequestPayer.h> +#include <aws/s3/model/ChecksumMode.h> #include <aws/core/utils/memory/stl/AWSMap.h> #include <utility> @@ -25,10 +26,10 @@ namespace Model /** */ - class AWS_S3_API HeadObjectRequest : public S3Request + class HeadObjectRequest : public S3Request { public: - HeadObjectRequest(); + AWS_S3_API HeadObjectRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -36,31 +37,35 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "HeadObject"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket containing the object.</p> <p>When using this action * with an access point, you must direct requests to the access point hostname. The * access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } @@ -69,19 +74,19 @@ namespace Model * with an access point, you must direct requests to the access point hostname. The * access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } @@ -90,19 +95,19 @@ namespace Model * with an access point, you must direct requests to the access point hostname. The * access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } @@ -111,19 +116,19 @@ namespace Model * with an access point, you must direct requests to the access point hostname. The * access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } @@ -132,19 +137,19 @@ namespace Model * with an access point, you must direct requests to the access point hostname. The * access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } @@ -153,19 +158,19 @@ namespace Model * with an access point, you must direct requests to the access point hostname. The * access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline HeadObjectRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} @@ -174,19 +179,19 @@ namespace Model * with an access point, you must direct requests to the access point hostname. The * access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline HeadObjectRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} @@ -195,191 +200,191 @@ namespace Model * with an access point, you must direct requests to the access point hostname. The * access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline HeadObjectRequest& WithBucket(const char* value) { SetBucket(value); return *this;} /** * <p>Return the object only if its entity tag (ETag) is the same as the one - * specified, otherwise return a 412 (precondition failed).</p> + * specified; otherwise, return a 412 (precondition failed) error.</p> */ inline const Aws::String& GetIfMatch() const{ return m_ifMatch; } /** * <p>Return the object only if its entity tag (ETag) is the same as the one - * specified, otherwise return a 412 (precondition failed).</p> + * specified; otherwise, return a 412 (precondition failed) error.</p> */ inline bool IfMatchHasBeenSet() const { return m_ifMatchHasBeenSet; } /** * <p>Return the object only if its entity tag (ETag) is the same as the one - * specified, otherwise return a 412 (precondition failed).</p> + * specified; otherwise, return a 412 (precondition failed) error.</p> */ inline void SetIfMatch(const Aws::String& value) { m_ifMatchHasBeenSet = true; m_ifMatch = value; } /** * <p>Return the object only if its entity tag (ETag) is the same as the one - * specified, otherwise return a 412 (precondition failed).</p> + * specified; otherwise, return a 412 (precondition failed) error.</p> */ inline void SetIfMatch(Aws::String&& value) { m_ifMatchHasBeenSet = true; m_ifMatch = std::move(value); } /** * <p>Return the object only if its entity tag (ETag) is the same as the one - * specified, otherwise return a 412 (precondition failed).</p> + * specified; otherwise, return a 412 (precondition failed) error.</p> */ inline void SetIfMatch(const char* value) { m_ifMatchHasBeenSet = true; m_ifMatch.assign(value); } /** * <p>Return the object only if its entity tag (ETag) is the same as the one - * specified, otherwise return a 412 (precondition failed).</p> + * specified; otherwise, return a 412 (precondition failed) error.</p> */ inline HeadObjectRequest& WithIfMatch(const Aws::String& value) { SetIfMatch(value); return *this;} /** * <p>Return the object only if its entity tag (ETag) is the same as the one - * specified, otherwise return a 412 (precondition failed).</p> + * specified; otherwise, return a 412 (precondition failed) error.</p> */ inline HeadObjectRequest& WithIfMatch(Aws::String&& value) { SetIfMatch(std::move(value)); return *this;} /** * <p>Return the object only if its entity tag (ETag) is the same as the one - * specified, otherwise return a 412 (precondition failed).</p> + * specified; otherwise, return a 412 (precondition failed) error.</p> */ inline HeadObjectRequest& WithIfMatch(const char* value) { SetIfMatch(value); return *this;} /** - * <p>Return the object only if it has been modified since the specified time, - * otherwise return a 304 (not modified).</p> + * <p>Return the object only if it has been modified since the specified time; + * otherwise, return a 304 (not modified) error.</p> */ inline const Aws::Utils::DateTime& GetIfModifiedSince() const{ return m_ifModifiedSince; } /** - * <p>Return the object only if it has been modified since the specified time, - * otherwise return a 304 (not modified).</p> + * <p>Return the object only if it has been modified since the specified time; + * otherwise, return a 304 (not modified) error.</p> */ inline bool IfModifiedSinceHasBeenSet() const { return m_ifModifiedSinceHasBeenSet; } /** - * <p>Return the object only if it has been modified since the specified time, - * otherwise return a 304 (not modified).</p> + * <p>Return the object only if it has been modified since the specified time; + * otherwise, return a 304 (not modified) error.</p> */ inline void SetIfModifiedSince(const Aws::Utils::DateTime& value) { m_ifModifiedSinceHasBeenSet = true; m_ifModifiedSince = value; } /** - * <p>Return the object only if it has been modified since the specified time, - * otherwise return a 304 (not modified).</p> + * <p>Return the object only if it has been modified since the specified time; + * otherwise, return a 304 (not modified) error.</p> */ inline void SetIfModifiedSince(Aws::Utils::DateTime&& value) { m_ifModifiedSinceHasBeenSet = true; m_ifModifiedSince = std::move(value); } /** - * <p>Return the object only if it has been modified since the specified time, - * otherwise return a 304 (not modified).</p> + * <p>Return the object only if it has been modified since the specified time; + * otherwise, return a 304 (not modified) error.</p> */ inline HeadObjectRequest& WithIfModifiedSince(const Aws::Utils::DateTime& value) { SetIfModifiedSince(value); return *this;} /** - * <p>Return the object only if it has been modified since the specified time, - * otherwise return a 304 (not modified).</p> + * <p>Return the object only if it has been modified since the specified time; + * otherwise, return a 304 (not modified) error.</p> */ inline HeadObjectRequest& WithIfModifiedSince(Aws::Utils::DateTime&& value) { SetIfModifiedSince(std::move(value)); return *this;} /** * <p>Return the object only if its entity tag (ETag) is different from the one - * specified, otherwise return a 304 (not modified).</p> + * specified; otherwise, return a 304 (not modified) error.</p> */ inline const Aws::String& GetIfNoneMatch() const{ return m_ifNoneMatch; } /** * <p>Return the object only if its entity tag (ETag) is different from the one - * specified, otherwise return a 304 (not modified).</p> + * specified; otherwise, return a 304 (not modified) error.</p> */ inline bool IfNoneMatchHasBeenSet() const { return m_ifNoneMatchHasBeenSet; } /** * <p>Return the object only if its entity tag (ETag) is different from the one - * specified, otherwise return a 304 (not modified).</p> + * specified; otherwise, return a 304 (not modified) error.</p> */ inline void SetIfNoneMatch(const Aws::String& value) { m_ifNoneMatchHasBeenSet = true; m_ifNoneMatch = value; } /** * <p>Return the object only if its entity tag (ETag) is different from the one - * specified, otherwise return a 304 (not modified).</p> + * specified; otherwise, return a 304 (not modified) error.</p> */ inline void SetIfNoneMatch(Aws::String&& value) { m_ifNoneMatchHasBeenSet = true; m_ifNoneMatch = std::move(value); } /** * <p>Return the object only if its entity tag (ETag) is different from the one - * specified, otherwise return a 304 (not modified).</p> + * specified; otherwise, return a 304 (not modified) error.</p> */ inline void SetIfNoneMatch(const char* value) { m_ifNoneMatchHasBeenSet = true; m_ifNoneMatch.assign(value); } /** * <p>Return the object only if its entity tag (ETag) is different from the one - * specified, otherwise return a 304 (not modified).</p> + * specified; otherwise, return a 304 (not modified) error.</p> */ inline HeadObjectRequest& WithIfNoneMatch(const Aws::String& value) { SetIfNoneMatch(value); return *this;} /** * <p>Return the object only if its entity tag (ETag) is different from the one - * specified, otherwise return a 304 (not modified).</p> + * specified; otherwise, return a 304 (not modified) error.</p> */ inline HeadObjectRequest& WithIfNoneMatch(Aws::String&& value) { SetIfNoneMatch(std::move(value)); return *this;} /** * <p>Return the object only if its entity tag (ETag) is different from the one - * specified, otherwise return a 304 (not modified).</p> + * specified; otherwise, return a 304 (not modified) error.</p> */ inline HeadObjectRequest& WithIfNoneMatch(const char* value) { SetIfNoneMatch(value); return *this;} /** - * <p>Return the object only if it has not been modified since the specified time, - * otherwise return a 412 (precondition failed).</p> + * <p>Return the object only if it has not been modified since the specified time; + * otherwise, return a 412 (precondition failed) error.</p> */ inline const Aws::Utils::DateTime& GetIfUnmodifiedSince() const{ return m_ifUnmodifiedSince; } /** - * <p>Return the object only if it has not been modified since the specified time, - * otherwise return a 412 (precondition failed).</p> + * <p>Return the object only if it has not been modified since the specified time; + * otherwise, return a 412 (precondition failed) error.</p> */ inline bool IfUnmodifiedSinceHasBeenSet() const { return m_ifUnmodifiedSinceHasBeenSet; } /** - * <p>Return the object only if it has not been modified since the specified time, - * otherwise return a 412 (precondition failed).</p> + * <p>Return the object only if it has not been modified since the specified time; + * otherwise, return a 412 (precondition failed) error.</p> */ inline void SetIfUnmodifiedSince(const Aws::Utils::DateTime& value) { m_ifUnmodifiedSinceHasBeenSet = true; m_ifUnmodifiedSince = value; } /** - * <p>Return the object only if it has not been modified since the specified time, - * otherwise return a 412 (precondition failed).</p> + * <p>Return the object only if it has not been modified since the specified time; + * otherwise, return a 412 (precondition failed) error.</p> */ inline void SetIfUnmodifiedSince(Aws::Utils::DateTime&& value) { m_ifUnmodifiedSinceHasBeenSet = true; m_ifUnmodifiedSince = std::move(value); } /** - * <p>Return the object only if it has not been modified since the specified time, - * otherwise return a 412 (precondition failed).</p> + * <p>Return the object only if it has not been modified since the specified time; + * otherwise, return a 412 (precondition failed) error.</p> */ inline HeadObjectRequest& WithIfUnmodifiedSince(const Aws::Utils::DateTime& value) { SetIfUnmodifiedSince(value); return *this;} /** - * <p>Return the object only if it has not been modified since the specified time, - * otherwise return a 412 (precondition failed).</p> + * <p>Return the object only if it has not been modified since the specified time; + * otherwise, return a 412 (precondition failed) error.</p> */ inline HeadObjectRequest& WithIfUnmodifiedSince(Aws::Utils::DateTime&& value) { SetIfUnmodifiedSince(std::move(value)); return *this;} @@ -426,74 +431,50 @@ namespace Model /** - * <p>Downloads the specified range bytes of an object. For more information about - * the HTTP Range header, see <a - * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35</a>.</p> - * <p>Amazon S3 doesn't support retrieving multiple ranges of data per - * <code>GET</code> request.</p> + * <p>Because <code>HeadObject</code> returns only the metadata for an object, this + * parameter has no effect.</p> */ inline const Aws::String& GetRange() const{ return m_range; } /** - * <p>Downloads the specified range bytes of an object. For more information about - * the HTTP Range header, see <a - * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35</a>.</p> - * <p>Amazon S3 doesn't support retrieving multiple ranges of data per - * <code>GET</code> request.</p> + * <p>Because <code>HeadObject</code> returns only the metadata for an object, this + * parameter has no effect.</p> */ inline bool RangeHasBeenSet() const { return m_rangeHasBeenSet; } /** - * <p>Downloads the specified range bytes of an object. For more information about - * the HTTP Range header, see <a - * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35</a>.</p> - * <p>Amazon S3 doesn't support retrieving multiple ranges of data per - * <code>GET</code> request.</p> + * <p>Because <code>HeadObject</code> returns only the metadata for an object, this + * parameter has no effect.</p> */ inline void SetRange(const Aws::String& value) { m_rangeHasBeenSet = true; m_range = value; } /** - * <p>Downloads the specified range bytes of an object. For more information about - * the HTTP Range header, see <a - * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35</a>.</p> - * <p>Amazon S3 doesn't support retrieving multiple ranges of data per - * <code>GET</code> request.</p> + * <p>Because <code>HeadObject</code> returns only the metadata for an object, this + * parameter has no effect.</p> */ inline void SetRange(Aws::String&& value) { m_rangeHasBeenSet = true; m_range = std::move(value); } /** - * <p>Downloads the specified range bytes of an object. For more information about - * the HTTP Range header, see <a - * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35</a>.</p> - * <p>Amazon S3 doesn't support retrieving multiple ranges of data per - * <code>GET</code> request.</p> + * <p>Because <code>HeadObject</code> returns only the metadata for an object, this + * parameter has no effect.</p> */ inline void SetRange(const char* value) { m_rangeHasBeenSet = true; m_range.assign(value); } /** - * <p>Downloads the specified range bytes of an object. For more information about - * the HTTP Range header, see <a - * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35</a>.</p> - * <p>Amazon S3 doesn't support retrieving multiple ranges of data per - * <code>GET</code> request.</p> + * <p>Because <code>HeadObject</code> returns only the metadata for an object, this + * parameter has no effect.</p> */ inline HeadObjectRequest& WithRange(const Aws::String& value) { SetRange(value); return *this;} /** - * <p>Downloads the specified range bytes of an object. For more information about - * the HTTP Range header, see <a - * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35</a>.</p> - * <p>Amazon S3 doesn't support retrieving multiple ranges of data per - * <code>GET</code> request.</p> + * <p>Because <code>HeadObject</code> returns only the metadata for an object, this + * parameter has no effect.</p> */ inline HeadObjectRequest& WithRange(Aws::String&& value) { SetRange(std::move(value)); return *this;} /** - * <p>Downloads the specified range bytes of an object. For more information about - * the HTTP Range header, see <a - * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35</a>.</p> - * <p>Amazon S3 doesn't support retrieving multiple ranges of data per - * <code>GET</code> request.</p> + * <p>Because <code>HeadObject</code> returns only the metadata for an object, this + * parameter has no effect.</p> */ inline HeadObjectRequest& WithRange(const char* value) { SetRange(value); return *this;} @@ -772,61 +753,116 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline HeadObjectRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline HeadObjectRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline HeadObjectRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + /** + * <p>To retrieve the checksum, this parameter must be enabled.</p> <p>In addition, + * if you enable <code>ChecksumMode</code> and the object is encrypted with Amazon + * Web Services Key Management Service (Amazon Web Services KMS), you must have + * permission to use the <code>kms:Decrypt</code> action for the request to + * succeed.</p> + */ + inline const ChecksumMode& GetChecksumMode() const{ return m_checksumMode; } + + /** + * <p>To retrieve the checksum, this parameter must be enabled.</p> <p>In addition, + * if you enable <code>ChecksumMode</code> and the object is encrypted with Amazon + * Web Services Key Management Service (Amazon Web Services KMS), you must have + * permission to use the <code>kms:Decrypt</code> action for the request to + * succeed.</p> + */ + inline bool ChecksumModeHasBeenSet() const { return m_checksumModeHasBeenSet; } + + /** + * <p>To retrieve the checksum, this parameter must be enabled.</p> <p>In addition, + * if you enable <code>ChecksumMode</code> and the object is encrypted with Amazon + * Web Services Key Management Service (Amazon Web Services KMS), you must have + * permission to use the <code>kms:Decrypt</code> action for the request to + * succeed.</p> + */ + inline void SetChecksumMode(const ChecksumMode& value) { m_checksumModeHasBeenSet = true; m_checksumMode = value; } + + /** + * <p>To retrieve the checksum, this parameter must be enabled.</p> <p>In addition, + * if you enable <code>ChecksumMode</code> and the object is encrypted with Amazon + * Web Services Key Management Service (Amazon Web Services KMS), you must have + * permission to use the <code>kms:Decrypt</code> action for the request to + * succeed.</p> + */ + inline void SetChecksumMode(ChecksumMode&& value) { m_checksumModeHasBeenSet = true; m_checksumMode = std::move(value); } + + /** + * <p>To retrieve the checksum, this parameter must be enabled.</p> <p>In addition, + * if you enable <code>ChecksumMode</code> and the object is encrypted with Amazon + * Web Services Key Management Service (Amazon Web Services KMS), you must have + * permission to use the <code>kms:Decrypt</code> action for the request to + * succeed.</p> + */ + inline HeadObjectRequest& WithChecksumMode(const ChecksumMode& value) { SetChecksumMode(value); return *this;} + + /** + * <p>To retrieve the checksum, this parameter must be enabled.</p> <p>In addition, + * if you enable <code>ChecksumMode</code> and the object is encrypted with Amazon + * Web Services Key Management Service (Amazon Web Services KMS), you must have + * permission to use the <code>kms:Decrypt</code> action for the request to + * succeed.</p> + */ + inline HeadObjectRequest& WithChecksumMode(ChecksumMode&& value) { SetChecksumMode(std::move(value)); return *this;} + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } @@ -869,49 +905,52 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_ifMatch; - bool m_ifMatchHasBeenSet; + bool m_ifMatchHasBeenSet = false; Aws::Utils::DateTime m_ifModifiedSince; - bool m_ifModifiedSinceHasBeenSet; + bool m_ifModifiedSinceHasBeenSet = false; Aws::String m_ifNoneMatch; - bool m_ifNoneMatchHasBeenSet; + bool m_ifNoneMatchHasBeenSet = false; Aws::Utils::DateTime m_ifUnmodifiedSince; - bool m_ifUnmodifiedSinceHasBeenSet; + bool m_ifUnmodifiedSinceHasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; Aws::String m_range; - bool m_rangeHasBeenSet; + bool m_rangeHasBeenSet = false; Aws::String m_versionId; - bool m_versionIdHasBeenSet; + bool m_versionIdHasBeenSet = false; Aws::String m_sSECustomerAlgorithm; - bool m_sSECustomerAlgorithmHasBeenSet; + bool m_sSECustomerAlgorithmHasBeenSet = false; Aws::String m_sSECustomerKey; - bool m_sSECustomerKeyHasBeenSet; + bool m_sSECustomerKeyHasBeenSet = false; Aws::String m_sSECustomerKeyMD5; - bool m_sSECustomerKeyMD5HasBeenSet; + bool m_sSECustomerKeyMD5HasBeenSet = false; RequestPayer m_requestPayer; - bool m_requestPayerHasBeenSet; + bool m_requestPayerHasBeenSet = false; int m_partNumber; - bool m_partNumberHasBeenSet; + bool m_partNumberHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; + + ChecksumMode m_checksumMode; + bool m_checksumModeHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectResult.h index e12fddb225..fe2fd7373f 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectResult.h @@ -33,12 +33,12 @@ namespace S3 { namespace Model { - class AWS_S3_API HeadObjectResult + class HeadObjectResult { public: - HeadObjectResult(); - HeadObjectResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - HeadObjectResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API HeadObjectResult(); + AWS_S3_API HeadObjectResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API HeadObjectResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** @@ -98,57 +98,57 @@ namespace Model /** * <p>If the object expiration is configured (see PUT Bucket lifecycle), the - * response includes this header. It includes the expiry-date and rule-id key-value - * pairs providing object expiration information. The value of the rule-id is URL - * encoded.</p> + * response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs providing object expiration information. + * The value of the <code>rule-id</code> is URL-encoded.</p> */ inline const Aws::String& GetExpiration() const{ return m_expiration; } /** * <p>If the object expiration is configured (see PUT Bucket lifecycle), the - * response includes this header. It includes the expiry-date and rule-id key-value - * pairs providing object expiration information. The value of the rule-id is URL - * encoded.</p> + * response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs providing object expiration information. + * The value of the <code>rule-id</code> is URL-encoded.</p> */ inline void SetExpiration(const Aws::String& value) { m_expiration = value; } /** * <p>If the object expiration is configured (see PUT Bucket lifecycle), the - * response includes this header. It includes the expiry-date and rule-id key-value - * pairs providing object expiration information. The value of the rule-id is URL - * encoded.</p> + * response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs providing object expiration information. + * The value of the <code>rule-id</code> is URL-encoded.</p> */ inline void SetExpiration(Aws::String&& value) { m_expiration = std::move(value); } /** * <p>If the object expiration is configured (see PUT Bucket lifecycle), the - * response includes this header. It includes the expiry-date and rule-id key-value - * pairs providing object expiration information. The value of the rule-id is URL - * encoded.</p> + * response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs providing object expiration information. + * The value of the <code>rule-id</code> is URL-encoded.</p> */ inline void SetExpiration(const char* value) { m_expiration.assign(value); } /** * <p>If the object expiration is configured (see PUT Bucket lifecycle), the - * response includes this header. It includes the expiry-date and rule-id key-value - * pairs providing object expiration information. The value of the rule-id is URL - * encoded.</p> + * response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs providing object expiration information. + * The value of the <code>rule-id</code> is URL-encoded.</p> */ inline HeadObjectResult& WithExpiration(const Aws::String& value) { SetExpiration(value); return *this;} /** * <p>If the object expiration is configured (see PUT Bucket lifecycle), the - * response includes this header. It includes the expiry-date and rule-id key-value - * pairs providing object expiration information. The value of the rule-id is URL - * encoded.</p> + * response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs providing object expiration information. + * The value of the <code>rule-id</code> is URL-encoded.</p> */ inline HeadObjectResult& WithExpiration(Aws::String&& value) { SetExpiration(std::move(value)); return *this;} /** * <p>If the object expiration is configured (see PUT Bucket lifecycle), the - * response includes this header. It includes the expiry-date and rule-id key-value - * pairs providing object expiration information. The value of the rule-id is URL - * encoded.</p> + * response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs providing object expiration information. + * The value of the <code>rule-id</code> is URL-encoded.</p> */ inline HeadObjectResult& WithExpiration(const char* value) { SetExpiration(value); return *this;} @@ -342,44 +342,328 @@ namespace Model /** - * <p>An ETag is an opaque identifier assigned by a web server to a specific - * version of a resource found at a URL.</p> + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32() const{ return m_checksumCRC32; } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const Aws::String& value) { m_checksumCRC32 = value; } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(Aws::String&& value) { m_checksumCRC32 = std::move(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const char* value) { m_checksumCRC32.assign(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline HeadObjectResult& WithChecksumCRC32(const Aws::String& value) { SetChecksumCRC32(value); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline HeadObjectResult& WithChecksumCRC32(Aws::String&& value) { SetChecksumCRC32(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline HeadObjectResult& WithChecksumCRC32(const char* value) { SetChecksumCRC32(value); return *this;} + + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32C() const{ return m_checksumCRC32C; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const Aws::String& value) { m_checksumCRC32C = value; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(Aws::String&& value) { m_checksumCRC32C = std::move(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const char* value) { m_checksumCRC32C.assign(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline HeadObjectResult& WithChecksumCRC32C(const Aws::String& value) { SetChecksumCRC32C(value); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline HeadObjectResult& WithChecksumCRC32C(Aws::String&& value) { SetChecksumCRC32C(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline HeadObjectResult& WithChecksumCRC32C(const char* value) { SetChecksumCRC32C(value); return *this;} + + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA1() const{ return m_checksumSHA1; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const Aws::String& value) { m_checksumSHA1 = value; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(Aws::String&& value) { m_checksumSHA1 = std::move(value); } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const char* value) { m_checksumSHA1.assign(value); } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline HeadObjectResult& WithChecksumSHA1(const Aws::String& value) { SetChecksumSHA1(value); return *this;} + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline HeadObjectResult& WithChecksumSHA1(Aws::String&& value) { SetChecksumSHA1(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline HeadObjectResult& WithChecksumSHA1(const char* value) { SetChecksumSHA1(value); return *this;} + + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA256() const{ return m_checksumSHA256; } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const Aws::String& value) { m_checksumSHA256 = value; } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(Aws::String&& value) { m_checksumSHA256 = std::move(value); } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const char* value) { m_checksumSHA256.assign(value); } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline HeadObjectResult& WithChecksumSHA256(const Aws::String& value) { SetChecksumSHA256(value); return *this;} + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline HeadObjectResult& WithChecksumSHA256(Aws::String&& value) { SetChecksumSHA256(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline HeadObjectResult& WithChecksumSHA256(const char* value) { SetChecksumSHA256(value); return *this;} + + + /** + * <p>An entity tag (ETag) is an opaque identifier assigned by a web server to a + * specific version of a resource found at a URL.</p> */ inline const Aws::String& GetETag() const{ return m_eTag; } /** - * <p>An ETag is an opaque identifier assigned by a web server to a specific - * version of a resource found at a URL.</p> + * <p>An entity tag (ETag) is an opaque identifier assigned by a web server to a + * specific version of a resource found at a URL.</p> */ inline void SetETag(const Aws::String& value) { m_eTag = value; } /** - * <p>An ETag is an opaque identifier assigned by a web server to a specific - * version of a resource found at a URL.</p> + * <p>An entity tag (ETag) is an opaque identifier assigned by a web server to a + * specific version of a resource found at a URL.</p> */ inline void SetETag(Aws::String&& value) { m_eTag = std::move(value); } /** - * <p>An ETag is an opaque identifier assigned by a web server to a specific - * version of a resource found at a URL.</p> + * <p>An entity tag (ETag) is an opaque identifier assigned by a web server to a + * specific version of a resource found at a URL.</p> */ inline void SetETag(const char* value) { m_eTag.assign(value); } /** - * <p>An ETag is an opaque identifier assigned by a web server to a specific - * version of a resource found at a URL.</p> + * <p>An entity tag (ETag) is an opaque identifier assigned by a web server to a + * specific version of a resource found at a URL.</p> */ inline HeadObjectResult& WithETag(const Aws::String& value) { SetETag(value); return *this;} /** - * <p>An ETag is an opaque identifier assigned by a web server to a specific - * version of a resource found at a URL.</p> + * <p>An entity tag (ETag) is an opaque identifier assigned by a web server to a + * specific version of a resource found at a URL.</p> */ inline HeadObjectResult& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} /** - * <p>An ETag is an opaque identifier assigned by a web server to a specific - * version of a resource found at a URL.</p> + * <p>An entity tag (ETag) is an opaque identifier assigned by a web server to a + * specific version of a resource found at a URL.</p> */ inline HeadObjectResult& WithETag(const char* value) { SetETag(value); return *this;} @@ -719,40 +1003,40 @@ namespace Model /** - * <p>If the object is stored using server-side encryption either with an AWS KMS - * customer master key (CMK) or an Amazon S3-managed encryption key, the response + * <p>If the object is stored using server-side encryption either with an Amazon + * Web Services KMS key or an Amazon S3-managed encryption key, the response * includes this header with the value of the server-side encryption algorithm used * when storing this object in Amazon S3 (for example, AES256, aws:kms).</p> */ inline const ServerSideEncryption& GetServerSideEncryption() const{ return m_serverSideEncryption; } /** - * <p>If the object is stored using server-side encryption either with an AWS KMS - * customer master key (CMK) or an Amazon S3-managed encryption key, the response + * <p>If the object is stored using server-side encryption either with an Amazon + * Web Services KMS key or an Amazon S3-managed encryption key, the response * includes this header with the value of the server-side encryption algorithm used * when storing this object in Amazon S3 (for example, AES256, aws:kms).</p> */ inline void SetServerSideEncryption(const ServerSideEncryption& value) { m_serverSideEncryption = value; } /** - * <p>If the object is stored using server-side encryption either with an AWS KMS - * customer master key (CMK) or an Amazon S3-managed encryption key, the response + * <p>If the object is stored using server-side encryption either with an Amazon + * Web Services KMS key or an Amazon S3-managed encryption key, the response * includes this header with the value of the server-side encryption algorithm used * when storing this object in Amazon S3 (for example, AES256, aws:kms).</p> */ inline void SetServerSideEncryption(ServerSideEncryption&& value) { m_serverSideEncryption = std::move(value); } /** - * <p>If the object is stored using server-side encryption either with an AWS KMS - * customer master key (CMK) or an Amazon S3-managed encryption key, the response + * <p>If the object is stored using server-side encryption either with an Amazon + * Web Services KMS key or an Amazon S3-managed encryption key, the response * includes this header with the value of the server-side encryption algorithm used * when storing this object in Amazon S3 (for example, AES256, aws:kms).</p> */ inline HeadObjectResult& WithServerSideEncryption(const ServerSideEncryption& value) { SetServerSideEncryption(value); return *this;} /** - * <p>If the object is stored using server-side encryption either with an AWS KMS - * customer master key (CMK) or an Amazon S3-managed encryption key, the response + * <p>If the object is stored using server-side encryption either with an Amazon + * Web Services KMS key or an Amazon S3-managed encryption key, the response * includes this header with the value of the server-side encryption algorithm used * when storing this object in Amazon S3 (for example, AES256, aws:kms).</p> */ @@ -921,70 +1205,70 @@ namespace Model /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyId = value; } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyId = std::move(value); } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyId.assign(value); } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline HeadObjectResult& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline HeadObjectResult& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline HeadObjectResult& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} /** * <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption - * with AWS KMS (SSE-KMS).</p> + * with Amazon Web Services KMS (SSE-KMS).</p> */ inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } /** * <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption - * with AWS KMS (SSE-KMS).</p> + * with Amazon Web Services KMS (SSE-KMS).</p> */ inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabled = value; } /** * <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption - * with AWS KMS (SSE-KMS).</p> + * with Amazon Web Services KMS (SSE-KMS).</p> */ inline HeadObjectResult& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;} @@ -1059,26 +1343,27 @@ namespace Model * object (<code>GetObject</code>) or object metadata (<code>HeadObject</code>) * from these buckets, Amazon S3 will return the * <code>x-amz-replication-status</code> header in the response as follows:</p> - * <ul> <li> <p>If requesting an object from the source bucket — Amazon S3 will - * return the <code>x-amz-replication-status</code> header if the object in your - * request is eligible for replication.</p> <p> For example, suppose that in your - * replication configuration, you specify object prefix <code>TaxDocs</code> + * <ul> <li> <p> <b>If requesting an object from the source bucket</b>, Amazon S3 + * will return the <code>x-amz-replication-status</code> header if the object in + * your request is eligible for replication.</p> <p> For example, suppose that in + * your replication configuration, you specify object prefix <code>TaxDocs</code> * requesting Amazon S3 to replicate objects with key prefix <code>TaxDocs</code>. * Any objects you upload with this key name prefix, for example * <code>TaxDocs/document1.pdf</code>, are eligible for replication. For any object * request with this key name prefix, Amazon S3 will return the * <code>x-amz-replication-status</code> header with value PENDING, COMPLETED or - * FAILED indicating object replication status.</p> </li> <li> <p>If requesting an - * object from a destination bucket — Amazon S3 will return the + * FAILED indicating object replication status.</p> </li> <li> <p> <b>If requesting + * an object from a destination bucket</b>, Amazon S3 will return the * <code>x-amz-replication-status</code> header with value REPLICA if the object in * your request is a replica that Amazon S3 created and there is no replica - * modification replication in progress.</p> </li> <li> <p>When replicating objects - * to multiple destination buckets the <code>x-amz-replication-status</code> header - * acts differently. The header of the source object will only return a value of - * COMPLETED when replication is successful to all destinations. The header will - * remain at value PENDING until replication has completed for all destinations. If - * one or more destinations fails replication the header will return FAILED. </p> - * </li> </ul> <p>For more information, see <a + * modification replication in progress.</p> </li> <li> <p> <b>When replicating + * objects to multiple destination buckets</b>, the + * <code>x-amz-replication-status</code> header acts differently. The header of the + * source object will only return a value of COMPLETED when replication is + * successful to all destinations. The header will remain at value PENDING until + * replication has completed for all destinations. If one or more destinations + * fails replication the header will return FAILED. </p> </li> </ul> <p>For more + * information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Replication</a>.</p> */ inline const ReplicationStatus& GetReplicationStatus() const{ return m_replicationStatus; } @@ -1091,26 +1376,27 @@ namespace Model * object (<code>GetObject</code>) or object metadata (<code>HeadObject</code>) * from these buckets, Amazon S3 will return the * <code>x-amz-replication-status</code> header in the response as follows:</p> - * <ul> <li> <p>If requesting an object from the source bucket — Amazon S3 will - * return the <code>x-amz-replication-status</code> header if the object in your - * request is eligible for replication.</p> <p> For example, suppose that in your - * replication configuration, you specify object prefix <code>TaxDocs</code> + * <ul> <li> <p> <b>If requesting an object from the source bucket</b>, Amazon S3 + * will return the <code>x-amz-replication-status</code> header if the object in + * your request is eligible for replication.</p> <p> For example, suppose that in + * your replication configuration, you specify object prefix <code>TaxDocs</code> * requesting Amazon S3 to replicate objects with key prefix <code>TaxDocs</code>. * Any objects you upload with this key name prefix, for example * <code>TaxDocs/document1.pdf</code>, are eligible for replication. For any object * request with this key name prefix, Amazon S3 will return the * <code>x-amz-replication-status</code> header with value PENDING, COMPLETED or - * FAILED indicating object replication status.</p> </li> <li> <p>If requesting an - * object from a destination bucket — Amazon S3 will return the + * FAILED indicating object replication status.</p> </li> <li> <p> <b>If requesting + * an object from a destination bucket</b>, Amazon S3 will return the * <code>x-amz-replication-status</code> header with value REPLICA if the object in * your request is a replica that Amazon S3 created and there is no replica - * modification replication in progress.</p> </li> <li> <p>When replicating objects - * to multiple destination buckets the <code>x-amz-replication-status</code> header - * acts differently. The header of the source object will only return a value of - * COMPLETED when replication is successful to all destinations. The header will - * remain at value PENDING until replication has completed for all destinations. If - * one or more destinations fails replication the header will return FAILED. </p> - * </li> </ul> <p>For more information, see <a + * modification replication in progress.</p> </li> <li> <p> <b>When replicating + * objects to multiple destination buckets</b>, the + * <code>x-amz-replication-status</code> header acts differently. The header of the + * source object will only return a value of COMPLETED when replication is + * successful to all destinations. The header will remain at value PENDING until + * replication has completed for all destinations. If one or more destinations + * fails replication the header will return FAILED. </p> </li> </ul> <p>For more + * information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Replication</a>.</p> */ inline void SetReplicationStatus(const ReplicationStatus& value) { m_replicationStatus = value; } @@ -1123,26 +1409,27 @@ namespace Model * object (<code>GetObject</code>) or object metadata (<code>HeadObject</code>) * from these buckets, Amazon S3 will return the * <code>x-amz-replication-status</code> header in the response as follows:</p> - * <ul> <li> <p>If requesting an object from the source bucket — Amazon S3 will - * return the <code>x-amz-replication-status</code> header if the object in your - * request is eligible for replication.</p> <p> For example, suppose that in your - * replication configuration, you specify object prefix <code>TaxDocs</code> + * <ul> <li> <p> <b>If requesting an object from the source bucket</b>, Amazon S3 + * will return the <code>x-amz-replication-status</code> header if the object in + * your request is eligible for replication.</p> <p> For example, suppose that in + * your replication configuration, you specify object prefix <code>TaxDocs</code> * requesting Amazon S3 to replicate objects with key prefix <code>TaxDocs</code>. * Any objects you upload with this key name prefix, for example * <code>TaxDocs/document1.pdf</code>, are eligible for replication. For any object * request with this key name prefix, Amazon S3 will return the * <code>x-amz-replication-status</code> header with value PENDING, COMPLETED or - * FAILED indicating object replication status.</p> </li> <li> <p>If requesting an - * object from a destination bucket — Amazon S3 will return the + * FAILED indicating object replication status.</p> </li> <li> <p> <b>If requesting + * an object from a destination bucket</b>, Amazon S3 will return the * <code>x-amz-replication-status</code> header with value REPLICA if the object in * your request is a replica that Amazon S3 created and there is no replica - * modification replication in progress.</p> </li> <li> <p>When replicating objects - * to multiple destination buckets the <code>x-amz-replication-status</code> header - * acts differently. The header of the source object will only return a value of - * COMPLETED when replication is successful to all destinations. The header will - * remain at value PENDING until replication has completed for all destinations. If - * one or more destinations fails replication the header will return FAILED. </p> - * </li> </ul> <p>For more information, see <a + * modification replication in progress.</p> </li> <li> <p> <b>When replicating + * objects to multiple destination buckets</b>, the + * <code>x-amz-replication-status</code> header acts differently. The header of the + * source object will only return a value of COMPLETED when replication is + * successful to all destinations. The header will remain at value PENDING until + * replication has completed for all destinations. If one or more destinations + * fails replication the header will return FAILED. </p> </li> </ul> <p>For more + * information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Replication</a>.</p> */ inline void SetReplicationStatus(ReplicationStatus&& value) { m_replicationStatus = std::move(value); } @@ -1155,26 +1442,27 @@ namespace Model * object (<code>GetObject</code>) or object metadata (<code>HeadObject</code>) * from these buckets, Amazon S3 will return the * <code>x-amz-replication-status</code> header in the response as follows:</p> - * <ul> <li> <p>If requesting an object from the source bucket — Amazon S3 will - * return the <code>x-amz-replication-status</code> header if the object in your - * request is eligible for replication.</p> <p> For example, suppose that in your - * replication configuration, you specify object prefix <code>TaxDocs</code> + * <ul> <li> <p> <b>If requesting an object from the source bucket</b>, Amazon S3 + * will return the <code>x-amz-replication-status</code> header if the object in + * your request is eligible for replication.</p> <p> For example, suppose that in + * your replication configuration, you specify object prefix <code>TaxDocs</code> * requesting Amazon S3 to replicate objects with key prefix <code>TaxDocs</code>. * Any objects you upload with this key name prefix, for example * <code>TaxDocs/document1.pdf</code>, are eligible for replication. For any object * request with this key name prefix, Amazon S3 will return the * <code>x-amz-replication-status</code> header with value PENDING, COMPLETED or - * FAILED indicating object replication status.</p> </li> <li> <p>If requesting an - * object from a destination bucket — Amazon S3 will return the + * FAILED indicating object replication status.</p> </li> <li> <p> <b>If requesting + * an object from a destination bucket</b>, Amazon S3 will return the * <code>x-amz-replication-status</code> header with value REPLICA if the object in * your request is a replica that Amazon S3 created and there is no replica - * modification replication in progress.</p> </li> <li> <p>When replicating objects - * to multiple destination buckets the <code>x-amz-replication-status</code> header - * acts differently. The header of the source object will only return a value of - * COMPLETED when replication is successful to all destinations. The header will - * remain at value PENDING until replication has completed for all destinations. If - * one or more destinations fails replication the header will return FAILED. </p> - * </li> </ul> <p>For more information, see <a + * modification replication in progress.</p> </li> <li> <p> <b>When replicating + * objects to multiple destination buckets</b>, the + * <code>x-amz-replication-status</code> header acts differently. The header of the + * source object will only return a value of COMPLETED when replication is + * successful to all destinations. The header will remain at value PENDING until + * replication has completed for all destinations. If one or more destinations + * fails replication the header will return FAILED. </p> </li> </ul> <p>For more + * information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Replication</a>.</p> */ inline HeadObjectResult& WithReplicationStatus(const ReplicationStatus& value) { SetReplicationStatus(value); return *this;} @@ -1187,43 +1475,50 @@ namespace Model * object (<code>GetObject</code>) or object metadata (<code>HeadObject</code>) * from these buckets, Amazon S3 will return the * <code>x-amz-replication-status</code> header in the response as follows:</p> - * <ul> <li> <p>If requesting an object from the source bucket — Amazon S3 will - * return the <code>x-amz-replication-status</code> header if the object in your - * request is eligible for replication.</p> <p> For example, suppose that in your - * replication configuration, you specify object prefix <code>TaxDocs</code> + * <ul> <li> <p> <b>If requesting an object from the source bucket</b>, Amazon S3 + * will return the <code>x-amz-replication-status</code> header if the object in + * your request is eligible for replication.</p> <p> For example, suppose that in + * your replication configuration, you specify object prefix <code>TaxDocs</code> * requesting Amazon S3 to replicate objects with key prefix <code>TaxDocs</code>. * Any objects you upload with this key name prefix, for example * <code>TaxDocs/document1.pdf</code>, are eligible for replication. For any object * request with this key name prefix, Amazon S3 will return the * <code>x-amz-replication-status</code> header with value PENDING, COMPLETED or - * FAILED indicating object replication status.</p> </li> <li> <p>If requesting an - * object from a destination bucket — Amazon S3 will return the + * FAILED indicating object replication status.</p> </li> <li> <p> <b>If requesting + * an object from a destination bucket</b>, Amazon S3 will return the * <code>x-amz-replication-status</code> header with value REPLICA if the object in * your request is a replica that Amazon S3 created and there is no replica - * modification replication in progress.</p> </li> <li> <p>When replicating objects - * to multiple destination buckets the <code>x-amz-replication-status</code> header - * acts differently. The header of the source object will only return a value of - * COMPLETED when replication is successful to all destinations. The header will - * remain at value PENDING until replication has completed for all destinations. If - * one or more destinations fails replication the header will return FAILED. </p> - * </li> </ul> <p>For more information, see <a + * modification replication in progress.</p> </li> <li> <p> <b>When replicating + * objects to multiple destination buckets</b>, the + * <code>x-amz-replication-status</code> header acts differently. The header of the + * source object will only return a value of COMPLETED when replication is + * successful to all destinations. The header will remain at value PENDING until + * replication has completed for all destinations. If one or more destinations + * fails replication the header will return FAILED. </p> </li> </ul> <p>For more + * information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Replication</a>.</p> */ inline HeadObjectResult& WithReplicationStatus(ReplicationStatus&& value) { SetReplicationStatus(std::move(value)); return *this;} /** - * <p>The count of parts this object has.</p> + * <p>The count of parts this object has. This value is only returned if you + * specify <code>partNumber</code> in your request and the object was uploaded as a + * multipart upload.</p> */ inline int GetPartsCount() const{ return m_partsCount; } /** - * <p>The count of parts this object has.</p> + * <p>The count of parts this object has. This value is only returned if you + * specify <code>partNumber</code> in your request and the object was uploaded as a + * multipart upload.</p> */ inline void SetPartsCount(int value) { m_partsCount = value; } /** - * <p>The count of parts this object has.</p> + * <p>The count of parts this object has. This value is only returned if you + * specify <code>partNumber</code> in your request and the object was uploaded as a + * multipart upload.</p> */ inline HeadObjectResult& WithPartsCount(int value) { SetPartsCount(value); return *this;} @@ -1381,6 +1676,14 @@ namespace Model long long m_contentLength; + Aws::String m_checksumCRC32; + + Aws::String m_checksumCRC32C; + + Aws::String m_checksumSHA1; + + Aws::String m_checksumSHA256; + Aws::String m_eTag; int m_missingMeta; diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IndexDocument.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IndexDocument.h index 8f303f7252..992c178465 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IndexDocument.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IndexDocument.h @@ -27,14 +27,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/IndexDocument">AWS * API Reference</a></p> */ - class AWS_S3_API IndexDocument + class IndexDocument { public: - IndexDocument(); - IndexDocument(const Aws::Utils::Xml::XmlNode& xmlNode); - IndexDocument& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API IndexDocument(); + AWS_S3_API IndexDocument(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API IndexDocument& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -144,7 +144,7 @@ namespace Model private: Aws::String m_suffix; - bool m_suffixHasBeenSet; + bool m_suffixHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Initiator.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Initiator.h index 7e831b799d..4d7d331f27 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Initiator.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Initiator.h @@ -28,61 +28,61 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Initiator">AWS API * Reference</a></p> */ - class AWS_S3_API Initiator + class Initiator { public: - Initiator(); - Initiator(const Aws::Utils::Xml::XmlNode& xmlNode); - Initiator& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Initiator(); + AWS_S3_API Initiator(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Initiator& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** - * <p>If the principal is an AWS account, it provides the Canonical User ID. If the - * principal is an IAM User, it provides a user ARN value.</p> + * <p>If the principal is an Amazon Web Services account, it provides the Canonical + * User ID. If the principal is an IAM User, it provides a user ARN value.</p> */ inline const Aws::String& GetID() const{ return m_iD; } /** - * <p>If the principal is an AWS account, it provides the Canonical User ID. If the - * principal is an IAM User, it provides a user ARN value.</p> + * <p>If the principal is an Amazon Web Services account, it provides the Canonical + * User ID. If the principal is an IAM User, it provides a user ARN value.</p> */ inline bool IDHasBeenSet() const { return m_iDHasBeenSet; } /** - * <p>If the principal is an AWS account, it provides the Canonical User ID. If the - * principal is an IAM User, it provides a user ARN value.</p> + * <p>If the principal is an Amazon Web Services account, it provides the Canonical + * User ID. If the principal is an IAM User, it provides a user ARN value.</p> */ inline void SetID(const Aws::String& value) { m_iDHasBeenSet = true; m_iD = value; } /** - * <p>If the principal is an AWS account, it provides the Canonical User ID. If the - * principal is an IAM User, it provides a user ARN value.</p> + * <p>If the principal is an Amazon Web Services account, it provides the Canonical + * User ID. If the principal is an IAM User, it provides a user ARN value.</p> */ inline void SetID(Aws::String&& value) { m_iDHasBeenSet = true; m_iD = std::move(value); } /** - * <p>If the principal is an AWS account, it provides the Canonical User ID. If the - * principal is an IAM User, it provides a user ARN value.</p> + * <p>If the principal is an Amazon Web Services account, it provides the Canonical + * User ID. If the principal is an IAM User, it provides a user ARN value.</p> */ inline void SetID(const char* value) { m_iDHasBeenSet = true; m_iD.assign(value); } /** - * <p>If the principal is an AWS account, it provides the Canonical User ID. If the - * principal is an IAM User, it provides a user ARN value.</p> + * <p>If the principal is an Amazon Web Services account, it provides the Canonical + * User ID. If the principal is an IAM User, it provides a user ARN value.</p> */ inline Initiator& WithID(const Aws::String& value) { SetID(value); return *this;} /** - * <p>If the principal is an AWS account, it provides the Canonical User ID. If the - * principal is an IAM User, it provides a user ARN value.</p> + * <p>If the principal is an Amazon Web Services account, it provides the Canonical + * User ID. If the principal is an IAM User, it provides a user ARN value.</p> */ inline Initiator& WithID(Aws::String&& value) { SetID(std::move(value)); return *this;} /** - * <p>If the principal is an AWS account, it provides the Canonical User ID. If the - * principal is an IAM User, it provides a user ARN value.</p> + * <p>If the principal is an Amazon Web Services account, it provides the Canonical + * User ID. If the principal is an IAM User, it provides a user ARN value.</p> */ inline Initiator& WithID(const char* value) { SetID(value); return *this;} @@ -130,10 +130,10 @@ namespace Model private: Aws::String m_iD; - bool m_iDHasBeenSet; + bool m_iDHasBeenSet = false; Aws::String m_displayName; - bool m_displayNameHasBeenSet; + bool m_displayNameHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InputSerialization.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InputSerialization.h index 332b4ec21d..217575cb50 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InputSerialization.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InputSerialization.h @@ -31,14 +31,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InputSerialization">AWS * API Reference</a></p> */ - class AWS_S3_API InputSerialization + class InputSerialization { public: - InputSerialization(); - InputSerialization(const Aws::Utils::Xml::XmlNode& xmlNode); - InputSerialization& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API InputSerialization(); + AWS_S3_API InputSerialization(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API InputSerialization& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -173,16 +173,16 @@ namespace Model private: CSVInput m_cSV; - bool m_cSVHasBeenSet; + bool m_cSVHasBeenSet = false; CompressionType m_compressionType; - bool m_compressionTypeHasBeenSet; + bool m_compressionTypeHasBeenSet = false; JSONInput m_jSON; - bool m_jSONHasBeenSet; + bool m_jSONHasBeenSet = false; ParquetInput m_parquet; - bool m_parquetHasBeenSet; + bool m_parquetHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringAndOperator.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringAndOperator.h index f40740341b..e0931038fd 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringAndOperator.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringAndOperator.h @@ -31,14 +31,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/IntelligentTieringAndOperator">AWS * API Reference</a></p> */ - class AWS_S3_API IntelligentTieringAndOperator + class IntelligentTieringAndOperator { public: - IntelligentTieringAndOperator(); - IntelligentTieringAndOperator(const Aws::Utils::Xml::XmlNode& xmlNode); - IntelligentTieringAndOperator& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API IntelligentTieringAndOperator(); + AWS_S3_API IntelligentTieringAndOperator(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API IntelligentTieringAndOperator& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -141,10 +141,10 @@ namespace Model private: Aws::String m_prefix; - bool m_prefixHasBeenSet; + bool m_prefixHasBeenSet = false; Aws::Vector<Tag> m_tags; - bool m_tagsHasBeenSet; + bool m_tagsHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringConfiguration.h index 5e89009326..044a68727b 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringConfiguration.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringConfiguration.h @@ -36,14 +36,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/IntelligentTieringConfiguration">AWS * API Reference</a></p> */ - class AWS_S3_API IntelligentTieringConfiguration + class IntelligentTieringConfiguration { public: - IntelligentTieringConfiguration(); - IntelligentTieringConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); - IntelligentTieringConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API IntelligentTieringConfiguration(); + AWS_S3_API IntelligentTieringConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API IntelligentTieringConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -206,16 +206,16 @@ namespace Model private: Aws::String m_id; - bool m_idHasBeenSet; + bool m_idHasBeenSet = false; IntelligentTieringFilter m_filter; - bool m_filterHasBeenSet; + bool m_filterHasBeenSet = false; IntelligentTieringStatus m_status; - bool m_statusHasBeenSet; + bool m_statusHasBeenSet = false; Aws::Vector<Tiering> m_tierings; - bool m_tieringsHasBeenSet; + bool m_tieringsHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringFilter.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringFilter.h index 9eb538ea13..a67a084744 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringFilter.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringFilter.h @@ -30,14 +30,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/IntelligentTieringFilter">AWS * API Reference</a></p> */ - class AWS_S3_API IntelligentTieringFilter + class IntelligentTieringFilter { public: - IntelligentTieringFilter(); - IntelligentTieringFilter(const Aws::Utils::Xml::XmlNode& xmlNode); - IntelligentTieringFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API IntelligentTieringFilter(); + AWS_S3_API IntelligentTieringFilter(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API IntelligentTieringFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -185,13 +185,13 @@ namespace Model private: Aws::String m_prefix; - bool m_prefixHasBeenSet; + bool m_prefixHasBeenSet = false; Tag m_tag; - bool m_tagHasBeenSet; + bool m_tagHasBeenSet = false; IntelligentTieringAndOperator m_and; - bool m_andHasBeenSet; + bool m_andHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InvalidObjectState.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InvalidObjectState.h index 2ce6a101d2..7f381ecaee 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InvalidObjectState.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InvalidObjectState.h @@ -29,14 +29,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InvalidObjectState">AWS * API Reference</a></p> */ - class AWS_S3_API InvalidObjectState + class InvalidObjectState { public: - InvalidObjectState(); - InvalidObjectState(const Aws::Utils::Xml::XmlNode& xmlNode); - InvalidObjectState& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API InvalidObjectState(); + AWS_S3_API InvalidObjectState(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API InvalidObjectState& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; @@ -79,10 +79,10 @@ namespace Model private: StorageClass m_storageClass; - bool m_storageClassHasBeenSet; + bool m_storageClassHasBeenSet = false; IntelligentTieringAccessTier m_accessTier; - bool m_accessTierHasBeenSet; + bool m_accessTierHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryConfiguration.h index d48347ff65..fec504d7a7 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryConfiguration.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryConfiguration.h @@ -32,19 +32,19 @@ namespace Model * <p>Specifies the inventory configuration for an Amazon S3 bucket. For more * information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html">GET - * Bucket inventory</a> in the <i>Amazon Simple Storage Service API Reference</i>. - * </p><p><h3>See Also:</h3> <a + * Bucket inventory</a> in the <i>Amazon S3 API Reference</i>. </p><p><h3>See + * Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryConfiguration">AWS * API Reference</a></p> */ - class AWS_S3_API InventoryConfiguration + class InventoryConfiguration { public: - InventoryConfiguration(); - InventoryConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); - InventoryConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API InventoryConfiguration(); + AWS_S3_API InventoryConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API InventoryConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -314,25 +314,25 @@ namespace Model private: InventoryDestination m_destination; - bool m_destinationHasBeenSet; + bool m_destinationHasBeenSet = false; bool m_isEnabled; - bool m_isEnabledHasBeenSet; + bool m_isEnabledHasBeenSet = false; InventoryFilter m_filter; - bool m_filterHasBeenSet; + bool m_filterHasBeenSet = false; Aws::String m_id; - bool m_idHasBeenSet; + bool m_idHasBeenSet = false; InventoryIncludedObjectVersions m_includedObjectVersions; - bool m_includedObjectVersionsHasBeenSet; + bool m_includedObjectVersionsHasBeenSet = false; Aws::Vector<InventoryOptionalField> m_optionalFields; - bool m_optionalFieldsHasBeenSet; + bool m_optionalFieldsHasBeenSet = false; InventorySchedule m_schedule; - bool m_scheduleHasBeenSet; + bool m_scheduleHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryDestination.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryDestination.h index 08f259cd74..8f56a7f92e 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryDestination.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryDestination.h @@ -28,14 +28,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryDestination">AWS * API Reference</a></p> */ - class AWS_S3_API InventoryDestination + class InventoryDestination { public: - InventoryDestination(); - InventoryDestination(const Aws::Utils::Xml::XmlNode& xmlNode); - InventoryDestination& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API InventoryDestination(); + AWS_S3_API InventoryDestination(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API InventoryDestination& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -77,7 +77,7 @@ namespace Model private: InventoryS3BucketDestination m_s3BucketDestination; - bool m_s3BucketDestinationHasBeenSet; + bool m_s3BucketDestinationHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryEncryption.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryEncryption.h index 6c11c72634..aa0480d279 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryEncryption.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryEncryption.h @@ -29,14 +29,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryEncryption">AWS * API Reference</a></p> */ - class AWS_S3_API InventoryEncryption + class InventoryEncryption { public: - InventoryEncryption(); - InventoryEncryption(const Aws::Utils::Xml::XmlNode& xmlNode); - InventoryEncryption& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API InventoryEncryption(); + AWS_S3_API InventoryEncryption(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API InventoryEncryption& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -103,10 +103,10 @@ namespace Model private: SSES3 m_sSES3; - bool m_sSES3HasBeenSet; + bool m_sSES3HasBeenSet = false; SSEKMS m_sSEKMS; - bool m_sSEKMSHasBeenSet; + bool m_sSEKMSHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryFilter.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryFilter.h index 919ccf6dd7..ba0662aded 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryFilter.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryFilter.h @@ -28,14 +28,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryFilter">AWS * API Reference</a></p> */ - class AWS_S3_API InventoryFilter + class InventoryFilter { public: - InventoryFilter(); - InventoryFilter(const Aws::Utils::Xml::XmlNode& xmlNode); - InventoryFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API InventoryFilter(); + AWS_S3_API InventoryFilter(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API InventoryFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -89,7 +89,7 @@ namespace Model private: Aws::String m_prefix; - bool m_prefixHasBeenSet; + bool m_prefixHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryOptionalField.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryOptionalField.h index 9959aa0bfb..c96e4bd859 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryOptionalField.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryOptionalField.h @@ -26,7 +26,9 @@ namespace Model ObjectLockRetainUntilDate, ObjectLockMode, ObjectLockLegalHoldStatus, - IntelligentTieringAccessTier + IntelligentTieringAccessTier, + BucketKeyStatus, + ChecksumAlgorithm }; namespace InventoryOptionalFieldMapper diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryS3BucketDestination.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryS3BucketDestination.h index d2f4f0027e..b907df63c7 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryS3BucketDestination.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryS3BucketDestination.h @@ -30,14 +30,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryS3BucketDestination">AWS * API Reference</a></p> */ - class AWS_S3_API InventoryS3BucketDestination + class InventoryS3BucketDestination { public: - InventoryS3BucketDestination(); - InventoryS3BucketDestination(const Aws::Utils::Xml::XmlNode& xmlNode); - InventoryS3BucketDestination& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API InventoryS3BucketDestination(); + AWS_S3_API InventoryS3BucketDestination(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API InventoryS3BucketDestination& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -265,19 +265,19 @@ namespace Model private: Aws::String m_accountId; - bool m_accountIdHasBeenSet; + bool m_accountIdHasBeenSet = false; Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; InventoryFormat m_format; - bool m_formatHasBeenSet; + bool m_formatHasBeenSet = false; Aws::String m_prefix; - bool m_prefixHasBeenSet; + bool m_prefixHasBeenSet = false; InventoryEncryption m_encryption; - bool m_encryptionHasBeenSet; + bool m_encryptionHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventorySchedule.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventorySchedule.h index 7a6933d2de..167b8e9f8a 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventorySchedule.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventorySchedule.h @@ -28,14 +28,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventorySchedule">AWS * API Reference</a></p> */ - class AWS_S3_API InventorySchedule + class InventorySchedule { public: - InventorySchedule(); - InventorySchedule(const Aws::Utils::Xml::XmlNode& xmlNode); - InventorySchedule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API InventorySchedule(); + AWS_S3_API InventorySchedule(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API InventorySchedule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -71,7 +71,7 @@ namespace Model private: InventoryFrequency m_frequency; - bool m_frequencyHasBeenSet; + bool m_frequencyHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/JSONInput.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/JSONInput.h index be157654bd..99da519a63 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/JSONInput.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/JSONInput.h @@ -28,14 +28,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/JSONInput">AWS API * Reference</a></p> */ - class AWS_S3_API JSONInput + class JSONInput { public: - JSONInput(); - JSONInput(const Aws::Utils::Xml::XmlNode& xmlNode); - JSONInput& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API JSONInput(); + AWS_S3_API JSONInput(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API JSONInput& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -71,7 +71,7 @@ namespace Model private: JSONType m_type; - bool m_typeHasBeenSet; + bool m_typeHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/JSONOutput.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/JSONOutput.h index 8a4865a7c0..6c895bb785 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/JSONOutput.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/JSONOutput.h @@ -28,14 +28,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/JSONOutput">AWS API * Reference</a></p> */ - class AWS_S3_API JSONOutput + class JSONOutput { public: - JSONOutput(); - JSONOutput(const Aws::Utils::Xml::XmlNode& xmlNode); - JSONOutput& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API JSONOutput(); + AWS_S3_API JSONOutput(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API JSONOutput& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -89,7 +89,7 @@ namespace Model private: Aws::String m_recordDelimiter; - bool m_recordDelimiterHasBeenSet; + bool m_recordDelimiterHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LambdaFunctionConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LambdaFunctionConfiguration.h index 3e0041301e..160d9d6d90 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LambdaFunctionConfiguration.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LambdaFunctionConfiguration.h @@ -26,19 +26,19 @@ namespace Model { /** - * <p>A container for specifying the configuration for AWS Lambda + * <p>A container for specifying the configuration for Lambda * notifications.</p><p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LambdaFunctionConfiguration">AWS * API Reference</a></p> */ - class AWS_S3_API LambdaFunctionConfiguration + class LambdaFunctionConfiguration { public: - LambdaFunctionConfiguration(); - LambdaFunctionConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); - LambdaFunctionConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API LambdaFunctionConfiguration(); + AWS_S3_API LambdaFunctionConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API LambdaFunctionConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; @@ -67,113 +67,113 @@ namespace Model /** - * <p>The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 - * invokes when the specified event type occurs.</p> + * <p>The Amazon Resource Name (ARN) of the Lambda function that Amazon S3 invokes + * when the specified event type occurs.</p> */ inline const Aws::String& GetLambdaFunctionArn() const{ return m_lambdaFunctionArn; } /** - * <p>The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 - * invokes when the specified event type occurs.</p> + * <p>The Amazon Resource Name (ARN) of the Lambda function that Amazon S3 invokes + * when the specified event type occurs.</p> */ inline bool LambdaFunctionArnHasBeenSet() const { return m_lambdaFunctionArnHasBeenSet; } /** - * <p>The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 - * invokes when the specified event type occurs.</p> + * <p>The Amazon Resource Name (ARN) of the Lambda function that Amazon S3 invokes + * when the specified event type occurs.</p> */ inline void SetLambdaFunctionArn(const Aws::String& value) { m_lambdaFunctionArnHasBeenSet = true; m_lambdaFunctionArn = value; } /** - * <p>The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 - * invokes when the specified event type occurs.</p> + * <p>The Amazon Resource Name (ARN) of the Lambda function that Amazon S3 invokes + * when the specified event type occurs.</p> */ inline void SetLambdaFunctionArn(Aws::String&& value) { m_lambdaFunctionArnHasBeenSet = true; m_lambdaFunctionArn = std::move(value); } /** - * <p>The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 - * invokes when the specified event type occurs.</p> + * <p>The Amazon Resource Name (ARN) of the Lambda function that Amazon S3 invokes + * when the specified event type occurs.</p> */ inline void SetLambdaFunctionArn(const char* value) { m_lambdaFunctionArnHasBeenSet = true; m_lambdaFunctionArn.assign(value); } /** - * <p>The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 - * invokes when the specified event type occurs.</p> + * <p>The Amazon Resource Name (ARN) of the Lambda function that Amazon S3 invokes + * when the specified event type occurs.</p> */ inline LambdaFunctionConfiguration& WithLambdaFunctionArn(const Aws::String& value) { SetLambdaFunctionArn(value); return *this;} /** - * <p>The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 - * invokes when the specified event type occurs.</p> + * <p>The Amazon Resource Name (ARN) of the Lambda function that Amazon S3 invokes + * when the specified event type occurs.</p> */ inline LambdaFunctionConfiguration& WithLambdaFunctionArn(Aws::String&& value) { SetLambdaFunctionArn(std::move(value)); return *this;} /** - * <p>The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 - * invokes when the specified event type occurs.</p> + * <p>The Amazon Resource Name (ARN) of the Lambda function that Amazon S3 invokes + * when the specified event type occurs.</p> */ inline LambdaFunctionConfiguration& WithLambdaFunctionArn(const char* value) { SetLambdaFunctionArn(value); return *this;} /** - * <p>The Amazon S3 bucket event for which to invoke the AWS Lambda function. For - * more information, see <a + * <p>The Amazon S3 bucket event for which to invoke the Lambda function. For more + * information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Supported * Event Types</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::Vector<Event>& GetEvents() const{ return m_events; } /** - * <p>The Amazon S3 bucket event for which to invoke the AWS Lambda function. For - * more information, see <a + * <p>The Amazon S3 bucket event for which to invoke the Lambda function. For more + * information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Supported * Event Types</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool EventsHasBeenSet() const { return m_eventsHasBeenSet; } /** - * <p>The Amazon S3 bucket event for which to invoke the AWS Lambda function. For - * more information, see <a + * <p>The Amazon S3 bucket event for which to invoke the Lambda function. For more + * information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Supported * Event Types</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetEvents(const Aws::Vector<Event>& value) { m_eventsHasBeenSet = true; m_events = value; } /** - * <p>The Amazon S3 bucket event for which to invoke the AWS Lambda function. For - * more information, see <a + * <p>The Amazon S3 bucket event for which to invoke the Lambda function. For more + * information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Supported * Event Types</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetEvents(Aws::Vector<Event>&& value) { m_eventsHasBeenSet = true; m_events = std::move(value); } /** - * <p>The Amazon S3 bucket event for which to invoke the AWS Lambda function. For - * more information, see <a + * <p>The Amazon S3 bucket event for which to invoke the Lambda function. For more + * information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Supported * Event Types</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline LambdaFunctionConfiguration& WithEvents(const Aws::Vector<Event>& value) { SetEvents(value); return *this;} /** - * <p>The Amazon S3 bucket event for which to invoke the AWS Lambda function. For - * more information, see <a + * <p>The Amazon S3 bucket event for which to invoke the Lambda function. For more + * information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Supported * Event Types</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline LambdaFunctionConfiguration& WithEvents(Aws::Vector<Event>&& value) { SetEvents(std::move(value)); return *this;} /** - * <p>The Amazon S3 bucket event for which to invoke the AWS Lambda function. For - * more information, see <a + * <p>The Amazon S3 bucket event for which to invoke the Lambda function. For more + * information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Supported * Event Types</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline LambdaFunctionConfiguration& AddEvents(const Event& value) { m_eventsHasBeenSet = true; m_events.push_back(value); return *this; } /** - * <p>The Amazon S3 bucket event for which to invoke the AWS Lambda function. For - * more information, see <a + * <p>The Amazon S3 bucket event for which to invoke the Lambda function. For more + * information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Supported * Event Types</a> in the <i>Amazon S3 User Guide</i>.</p> */ @@ -201,16 +201,16 @@ namespace Model private: Aws::String m_id; - bool m_idHasBeenSet; + bool m_idHasBeenSet = false; Aws::String m_lambdaFunctionArn; - bool m_lambdaFunctionArnHasBeenSet; + bool m_lambdaFunctionArnHasBeenSet = false; Aws::Vector<Event> m_events; - bool m_eventsHasBeenSet; + bool m_eventsHasBeenSet = false; NotificationConfigurationFilter m_filter; - bool m_filterHasBeenSet; + bool m_filterHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleConfiguration.h index 3da3b89dd8..f6bf105d8c 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleConfiguration.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleConfiguration.h @@ -29,14 +29,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LifecycleConfiguration">AWS * API Reference</a></p> */ - class AWS_S3_API LifecycleConfiguration + class LifecycleConfiguration { public: - LifecycleConfiguration(); - LifecycleConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); - LifecycleConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API LifecycleConfiguration(); + AWS_S3_API LifecycleConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API LifecycleConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -82,7 +82,7 @@ namespace Model private: Aws::Vector<Rule> m_rules; - bool m_rulesHasBeenSet; + bool m_rulesHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleExpiration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleExpiration.h index cb9628df58..d8e004401d 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleExpiration.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleExpiration.h @@ -28,14 +28,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LifecycleExpiration">AWS * API Reference</a></p> */ - class AWS_S3_API LifecycleExpiration + class LifecycleExpiration { public: - LifecycleExpiration(); - LifecycleExpiration(const Aws::Utils::Xml::XmlNode& xmlNode); - LifecycleExpiration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API LifecycleExpiration(); + AWS_S3_API LifecycleExpiration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API LifecycleExpiration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -135,13 +135,13 @@ namespace Model private: Aws::Utils::DateTime m_date; - bool m_dateHasBeenSet; + bool m_dateHasBeenSet = false; int m_days; - bool m_daysHasBeenSet; + bool m_daysHasBeenSet = false; bool m_expiredObjectDeleteMarker; - bool m_expiredObjectDeleteMarkerHasBeenSet; + bool m_expiredObjectDeleteMarkerHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleRule.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleRule.h index b26475ff83..0f5bcb70f5 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleRule.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleRule.h @@ -36,14 +36,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LifecycleRule">AWS * API Reference</a></p> */ - class AWS_S3_API LifecycleRule + class LifecycleRule { public: - LifecycleRule(); - LifecycleRule(const Aws::Utils::Xml::XmlNode& xmlNode); - LifecycleRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API LifecycleRule(); + AWS_S3_API LifecycleRule(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API LifecycleRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -136,7 +136,7 @@ namespace Model * <p>The <code>Filter</code> is used to identify objects that a Lifecycle Rule * applies to. A <code>Filter</code> must have exactly one of <code>Prefix</code>, * <code>Tag</code>, or <code>And</code> specified. <code>Filter</code> is required - * if the <code>LifecycleRule</code> does not containt a <code>Prefix</code> + * if the <code>LifecycleRule</code> does not contain a <code>Prefix</code> * element.</p> */ inline const LifecycleRuleFilter& GetFilter() const{ return m_filter; } @@ -145,7 +145,7 @@ namespace Model * <p>The <code>Filter</code> is used to identify objects that a Lifecycle Rule * applies to. A <code>Filter</code> must have exactly one of <code>Prefix</code>, * <code>Tag</code>, or <code>And</code> specified. <code>Filter</code> is required - * if the <code>LifecycleRule</code> does not containt a <code>Prefix</code> + * if the <code>LifecycleRule</code> does not contain a <code>Prefix</code> * element.</p> */ inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } @@ -154,7 +154,7 @@ namespace Model * <p>The <code>Filter</code> is used to identify objects that a Lifecycle Rule * applies to. A <code>Filter</code> must have exactly one of <code>Prefix</code>, * <code>Tag</code>, or <code>And</code> specified. <code>Filter</code> is required - * if the <code>LifecycleRule</code> does not containt a <code>Prefix</code> + * if the <code>LifecycleRule</code> does not contain a <code>Prefix</code> * element.</p> */ inline void SetFilter(const LifecycleRuleFilter& value) { m_filterHasBeenSet = true; m_filter = value; } @@ -163,7 +163,7 @@ namespace Model * <p>The <code>Filter</code> is used to identify objects that a Lifecycle Rule * applies to. A <code>Filter</code> must have exactly one of <code>Prefix</code>, * <code>Tag</code>, or <code>And</code> specified. <code>Filter</code> is required - * if the <code>LifecycleRule</code> does not containt a <code>Prefix</code> + * if the <code>LifecycleRule</code> does not contain a <code>Prefix</code> * element.</p> */ inline void SetFilter(LifecycleRuleFilter&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } @@ -172,7 +172,7 @@ namespace Model * <p>The <code>Filter</code> is used to identify objects that a Lifecycle Rule * applies to. A <code>Filter</code> must have exactly one of <code>Prefix</code>, * <code>Tag</code>, or <code>And</code> specified. <code>Filter</code> is required - * if the <code>LifecycleRule</code> does not containt a <code>Prefix</code> + * if the <code>LifecycleRule</code> does not contain a <code>Prefix</code> * element.</p> */ inline LifecycleRule& WithFilter(const LifecycleRuleFilter& value) { SetFilter(value); return *this;} @@ -181,7 +181,7 @@ namespace Model * <p>The <code>Filter</code> is used to identify objects that a Lifecycle Rule * applies to. A <code>Filter</code> must have exactly one of <code>Prefix</code>, * <code>Tag</code>, or <code>And</code> specified. <code>Filter</code> is required - * if the <code>LifecycleRule</code> does not containt a <code>Prefix</code> + * if the <code>LifecycleRule</code> does not contain a <code>Prefix</code> * element.</p> */ inline LifecycleRule& WithFilter(LifecycleRuleFilter&& value) { SetFilter(std::move(value)); return *this;} @@ -386,28 +386,28 @@ namespace Model private: LifecycleExpiration m_expiration; - bool m_expirationHasBeenSet; + bool m_expirationHasBeenSet = false; Aws::String m_iD; - bool m_iDHasBeenSet; + bool m_iDHasBeenSet = false; LifecycleRuleFilter m_filter; - bool m_filterHasBeenSet; + bool m_filterHasBeenSet = false; ExpirationStatus m_status; - bool m_statusHasBeenSet; + bool m_statusHasBeenSet = false; Aws::Vector<Transition> m_transitions; - bool m_transitionsHasBeenSet; + bool m_transitionsHasBeenSet = false; Aws::Vector<NoncurrentVersionTransition> m_noncurrentVersionTransitions; - bool m_noncurrentVersionTransitionsHasBeenSet; + bool m_noncurrentVersionTransitionsHasBeenSet = false; NoncurrentVersionExpiration m_noncurrentVersionExpiration; - bool m_noncurrentVersionExpirationHasBeenSet; + bool m_noncurrentVersionExpirationHasBeenSet = false; AbortIncompleteMultipartUpload m_abortIncompleteMultipartUpload; - bool m_abortIncompleteMultipartUploadHasBeenSet; + bool m_abortIncompleteMultipartUploadHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleRuleAndOperator.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleRuleAndOperator.h index 36ccbdd5f3..06b31f5221 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleRuleAndOperator.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleRuleAndOperator.h @@ -31,14 +31,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LifecycleRuleAndOperator">AWS * API Reference</a></p> */ - class AWS_S3_API LifecycleRuleAndOperator + class LifecycleRuleAndOperator { public: - LifecycleRuleAndOperator(); - LifecycleRuleAndOperator(const Aws::Utils::Xml::XmlNode& xmlNode); - LifecycleRuleAndOperator& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API LifecycleRuleAndOperator(); + AWS_S3_API LifecycleRuleAndOperator(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API LifecycleRuleAndOperator& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -130,13 +130,61 @@ namespace Model */ inline LifecycleRuleAndOperator& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + + /** + * <p>Minimum object size to which the rule applies.</p> + */ + inline long long GetObjectSizeGreaterThan() const{ return m_objectSizeGreaterThan; } + + /** + * <p>Minimum object size to which the rule applies.</p> + */ + inline bool ObjectSizeGreaterThanHasBeenSet() const { return m_objectSizeGreaterThanHasBeenSet; } + + /** + * <p>Minimum object size to which the rule applies.</p> + */ + inline void SetObjectSizeGreaterThan(long long value) { m_objectSizeGreaterThanHasBeenSet = true; m_objectSizeGreaterThan = value; } + + /** + * <p>Minimum object size to which the rule applies.</p> + */ + inline LifecycleRuleAndOperator& WithObjectSizeGreaterThan(long long value) { SetObjectSizeGreaterThan(value); return *this;} + + + /** + * <p>Maximum object size to which the rule applies.</p> + */ + inline long long GetObjectSizeLessThan() const{ return m_objectSizeLessThan; } + + /** + * <p>Maximum object size to which the rule applies.</p> + */ + inline bool ObjectSizeLessThanHasBeenSet() const { return m_objectSizeLessThanHasBeenSet; } + + /** + * <p>Maximum object size to which the rule applies.</p> + */ + inline void SetObjectSizeLessThan(long long value) { m_objectSizeLessThanHasBeenSet = true; m_objectSizeLessThan = value; } + + /** + * <p>Maximum object size to which the rule applies.</p> + */ + inline LifecycleRuleAndOperator& WithObjectSizeLessThan(long long value) { SetObjectSizeLessThan(value); return *this;} + private: Aws::String m_prefix; - bool m_prefixHasBeenSet; + bool m_prefixHasBeenSet = false; Aws::Vector<Tag> m_tags; - bool m_tagsHasBeenSet; + bool m_tagsHasBeenSet = false; + + long long m_objectSizeGreaterThan; + bool m_objectSizeGreaterThanHasBeenSet = false; + + long long m_objectSizeLessThan; + bool m_objectSizeLessThanHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleRuleFilter.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleRuleFilter.h index 74e57e178a..f657b6264e 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleRuleFilter.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleRuleFilter.h @@ -31,14 +31,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LifecycleRuleFilter">AWS * API Reference</a></p> */ - class AWS_S3_API LifecycleRuleFilter + class LifecycleRuleFilter { public: - LifecycleRuleFilter(); - LifecycleRuleFilter(const Aws::Utils::Xml::XmlNode& xmlNode); - LifecycleRuleFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API LifecycleRuleFilter(); + AWS_S3_API LifecycleRuleFilter(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API LifecycleRuleFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -159,6 +159,48 @@ namespace Model inline LifecycleRuleFilter& WithTag(Tag&& value) { SetTag(std::move(value)); return *this;} + /** + * <p>Minimum object size to which the rule applies.</p> + */ + inline long long GetObjectSizeGreaterThan() const{ return m_objectSizeGreaterThan; } + + /** + * <p>Minimum object size to which the rule applies.</p> + */ + inline bool ObjectSizeGreaterThanHasBeenSet() const { return m_objectSizeGreaterThanHasBeenSet; } + + /** + * <p>Minimum object size to which the rule applies.</p> + */ + inline void SetObjectSizeGreaterThan(long long value) { m_objectSizeGreaterThanHasBeenSet = true; m_objectSizeGreaterThan = value; } + + /** + * <p>Minimum object size to which the rule applies.</p> + */ + inline LifecycleRuleFilter& WithObjectSizeGreaterThan(long long value) { SetObjectSizeGreaterThan(value); return *this;} + + + /** + * <p>Maximum object size to which the rule applies.</p> + */ + inline long long GetObjectSizeLessThan() const{ return m_objectSizeLessThan; } + + /** + * <p>Maximum object size to which the rule applies.</p> + */ + inline bool ObjectSizeLessThanHasBeenSet() const { return m_objectSizeLessThanHasBeenSet; } + + /** + * <p>Maximum object size to which the rule applies.</p> + */ + inline void SetObjectSizeLessThan(long long value) { m_objectSizeLessThanHasBeenSet = true; m_objectSizeLessThan = value; } + + /** + * <p>Maximum object size to which the rule applies.</p> + */ + inline LifecycleRuleFilter& WithObjectSizeLessThan(long long value) { SetObjectSizeLessThan(value); return *this;} + + inline const LifecycleRuleAndOperator& GetAnd() const{ return m_and; } @@ -180,13 +222,19 @@ namespace Model private: Aws::String m_prefix; - bool m_prefixHasBeenSet; + bool m_prefixHasBeenSet = false; Tag m_tag; - bool m_tagHasBeenSet; + bool m_tagHasBeenSet = false; + + long long m_objectSizeGreaterThan; + bool m_objectSizeGreaterThanHasBeenSet = false; + + long long m_objectSizeLessThan; + bool m_objectSizeLessThanHasBeenSet = false; LifecycleRuleAndOperator m_and; - bool m_andHasBeenSet; + bool m_andHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketAnalyticsConfigurationsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketAnalyticsConfigurationsRequest.h index 8985a2ad10..d8f7b869a7 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketAnalyticsConfigurationsRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketAnalyticsConfigurationsRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API ListBucketAnalyticsConfigurationsRequest : public S3Request + class ListBucketAnalyticsConfigurationsRequest : public S3Request { public: - ListBucketAnalyticsConfigurationsRequest(); + AWS_S3_API ListBucketAnalyticsConfigurationsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "ListBucketAnalyticsConfigurations"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket from which analytics configurations are retrieved.</p> @@ -133,57 +137,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline ListBucketAnalyticsConfigurationsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline ListBucketAnalyticsConfigurationsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline ListBucketAnalyticsConfigurationsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -230,16 +234,16 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_continuationToken; - bool m_continuationTokenHasBeenSet; + bool m_continuationTokenHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketAnalyticsConfigurationsResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketAnalyticsConfigurationsResult.h index 9fc4f7cb24..a6aa78423e 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketAnalyticsConfigurationsResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketAnalyticsConfigurationsResult.h @@ -26,12 +26,12 @@ namespace S3 { namespace Model { - class AWS_S3_API ListBucketAnalyticsConfigurationsResult + class ListBucketAnalyticsConfigurationsResult { public: - ListBucketAnalyticsConfigurationsResult(); - ListBucketAnalyticsConfigurationsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - ListBucketAnalyticsConfigurationsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API ListBucketAnalyticsConfigurationsResult(); + AWS_S3_API ListBucketAnalyticsConfigurationsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API ListBucketAnalyticsConfigurationsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketIntelligentTieringConfigurationsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketIntelligentTieringConfigurationsRequest.h index 5a20d97c15..d46195a985 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketIntelligentTieringConfigurationsRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketIntelligentTieringConfigurationsRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API ListBucketIntelligentTieringConfigurationsRequest : public S3Request + class ListBucketIntelligentTieringConfigurationsRequest : public S3Request { public: - ListBucketIntelligentTieringConfigurationsRequest(); + AWS_S3_API ListBucketIntelligentTieringConfigurationsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,10 +34,14 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "ListBucketIntelligentTieringConfigurations"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the Amazon S3 bucket whose configuration you want to modify or @@ -89,50 +93,50 @@ namespace Model /** - * <p>The ContinuationToken that represents a placeholder from where this request - * should begin.</p> + * <p>The <code>ContinuationToken</code> that represents a placeholder from where + * this request should begin.</p> */ inline const Aws::String& GetContinuationToken() const{ return m_continuationToken; } /** - * <p>The ContinuationToken that represents a placeholder from where this request - * should begin.</p> + * <p>The <code>ContinuationToken</code> that represents a placeholder from where + * this request should begin.</p> */ inline bool ContinuationTokenHasBeenSet() const { return m_continuationTokenHasBeenSet; } /** - * <p>The ContinuationToken that represents a placeholder from where this request - * should begin.</p> + * <p>The <code>ContinuationToken</code> that represents a placeholder from where + * this request should begin.</p> */ inline void SetContinuationToken(const Aws::String& value) { m_continuationTokenHasBeenSet = true; m_continuationToken = value; } /** - * <p>The ContinuationToken that represents a placeholder from where this request - * should begin.</p> + * <p>The <code>ContinuationToken</code> that represents a placeholder from where + * this request should begin.</p> */ inline void SetContinuationToken(Aws::String&& value) { m_continuationTokenHasBeenSet = true; m_continuationToken = std::move(value); } /** - * <p>The ContinuationToken that represents a placeholder from where this request - * should begin.</p> + * <p>The <code>ContinuationToken</code> that represents a placeholder from where + * this request should begin.</p> */ inline void SetContinuationToken(const char* value) { m_continuationTokenHasBeenSet = true; m_continuationToken.assign(value); } /** - * <p>The ContinuationToken that represents a placeholder from where this request - * should begin.</p> + * <p>The <code>ContinuationToken</code> that represents a placeholder from where + * this request should begin.</p> */ inline ListBucketIntelligentTieringConfigurationsRequest& WithContinuationToken(const Aws::String& value) { SetContinuationToken(value); return *this;} /** - * <p>The ContinuationToken that represents a placeholder from where this request - * should begin.</p> + * <p>The <code>ContinuationToken</code> that represents a placeholder from where + * this request should begin.</p> */ inline ListBucketIntelligentTieringConfigurationsRequest& WithContinuationToken(Aws::String&& value) { SetContinuationToken(std::move(value)); return *this;} /** - * <p>The ContinuationToken that represents a placeholder from where this request - * should begin.</p> + * <p>The <code>ContinuationToken</code> that represents a placeholder from where + * this request should begin.</p> */ inline ListBucketIntelligentTieringConfigurationsRequest& WithContinuationToken(const char* value) { SetContinuationToken(value); return *this;} @@ -179,13 +183,13 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_continuationToken; - bool m_continuationTokenHasBeenSet; + bool m_continuationTokenHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketIntelligentTieringConfigurationsResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketIntelligentTieringConfigurationsResult.h index 0203f9ac43..5e6696c8de 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketIntelligentTieringConfigurationsResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketIntelligentTieringConfigurationsResult.h @@ -26,75 +26,78 @@ namespace S3 { namespace Model { - class AWS_S3_API ListBucketIntelligentTieringConfigurationsResult + class ListBucketIntelligentTieringConfigurationsResult { public: - ListBucketIntelligentTieringConfigurationsResult(); - ListBucketIntelligentTieringConfigurationsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - ListBucketIntelligentTieringConfigurationsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API ListBucketIntelligentTieringConfigurationsResult(); + AWS_S3_API ListBucketIntelligentTieringConfigurationsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API ListBucketIntelligentTieringConfigurationsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** * <p>Indicates whether the returned list of analytics configurations is complete. - * A value of true indicates that the list is not complete and the - * NextContinuationToken will be provided for a subsequent request.</p> + * A value of <code>true</code> indicates that the list is not complete and the + * <code>NextContinuationToken</code> will be provided for a subsequent + * request.</p> */ inline bool GetIsTruncated() const{ return m_isTruncated; } /** * <p>Indicates whether the returned list of analytics configurations is complete. - * A value of true indicates that the list is not complete and the - * NextContinuationToken will be provided for a subsequent request.</p> + * A value of <code>true</code> indicates that the list is not complete and the + * <code>NextContinuationToken</code> will be provided for a subsequent + * request.</p> */ inline void SetIsTruncated(bool value) { m_isTruncated = value; } /** * <p>Indicates whether the returned list of analytics configurations is complete. - * A value of true indicates that the list is not complete and the - * NextContinuationToken will be provided for a subsequent request.</p> + * A value of <code>true</code> indicates that the list is not complete and the + * <code>NextContinuationToken</code> will be provided for a subsequent + * request.</p> */ inline ListBucketIntelligentTieringConfigurationsResult& WithIsTruncated(bool value) { SetIsTruncated(value); return *this;} /** - * <p>The ContinuationToken that represents a placeholder from where this request - * should begin.</p> + * <p>The <code>ContinuationToken</code> that represents a placeholder from where + * this request should begin.</p> */ inline const Aws::String& GetContinuationToken() const{ return m_continuationToken; } /** - * <p>The ContinuationToken that represents a placeholder from where this request - * should begin.</p> + * <p>The <code>ContinuationToken</code> that represents a placeholder from where + * this request should begin.</p> */ inline void SetContinuationToken(const Aws::String& value) { m_continuationToken = value; } /** - * <p>The ContinuationToken that represents a placeholder from where this request - * should begin.</p> + * <p>The <code>ContinuationToken</code> that represents a placeholder from where + * this request should begin.</p> */ inline void SetContinuationToken(Aws::String&& value) { m_continuationToken = std::move(value); } /** - * <p>The ContinuationToken that represents a placeholder from where this request - * should begin.</p> + * <p>The <code>ContinuationToken</code> that represents a placeholder from where + * this request should begin.</p> */ inline void SetContinuationToken(const char* value) { m_continuationToken.assign(value); } /** - * <p>The ContinuationToken that represents a placeholder from where this request - * should begin.</p> + * <p>The <code>ContinuationToken</code> that represents a placeholder from where + * this request should begin.</p> */ inline ListBucketIntelligentTieringConfigurationsResult& WithContinuationToken(const Aws::String& value) { SetContinuationToken(value); return *this;} /** - * <p>The ContinuationToken that represents a placeholder from where this request - * should begin.</p> + * <p>The <code>ContinuationToken</code> that represents a placeholder from where + * this request should begin.</p> */ inline ListBucketIntelligentTieringConfigurationsResult& WithContinuationToken(Aws::String&& value) { SetContinuationToken(std::move(value)); return *this;} /** - * <p>The ContinuationToken that represents a placeholder from where this request - * should begin.</p> + * <p>The <code>ContinuationToken</code> that represents a placeholder from where + * this request should begin.</p> */ inline ListBucketIntelligentTieringConfigurationsResult& WithContinuationToken(const char* value) { SetContinuationToken(value); return *this;} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketInventoryConfigurationsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketInventoryConfigurationsRequest.h index b6c8743dea..a5a5f48a55 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketInventoryConfigurationsRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketInventoryConfigurationsRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API ListBucketInventoryConfigurationsRequest : public S3Request + class ListBucketInventoryConfigurationsRequest : public S3Request { public: - ListBucketInventoryConfigurationsRequest(); + AWS_S3_API ListBucketInventoryConfigurationsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "ListBucketInventoryConfigurations"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket containing the inventory configurations to @@ -157,57 +161,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline ListBucketInventoryConfigurationsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline ListBucketInventoryConfigurationsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline ListBucketInventoryConfigurationsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -254,16 +258,16 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_continuationToken; - bool m_continuationTokenHasBeenSet; + bool m_continuationTokenHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketInventoryConfigurationsResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketInventoryConfigurationsResult.h index e28a0661e3..2864c41b25 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketInventoryConfigurationsResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketInventoryConfigurationsResult.h @@ -26,12 +26,12 @@ namespace S3 { namespace Model { - class AWS_S3_API ListBucketInventoryConfigurationsResult + class ListBucketInventoryConfigurationsResult { public: - ListBucketInventoryConfigurationsResult(); - ListBucketInventoryConfigurationsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - ListBucketInventoryConfigurationsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API ListBucketInventoryConfigurationsResult(); + AWS_S3_API ListBucketInventoryConfigurationsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API ListBucketInventoryConfigurationsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketMetricsConfigurationsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketMetricsConfigurationsRequest.h index 03ac696974..83790116fe 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketMetricsConfigurationsRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketMetricsConfigurationsRequest.h @@ -23,10 +23,10 @@ namespace Model /** */ - class AWS_S3_API ListBucketMetricsConfigurationsRequest : public S3Request + class ListBucketMetricsConfigurationsRequest : public S3Request { public: - ListBucketMetricsConfigurationsRequest(); + AWS_S3_API ListBucketMetricsConfigurationsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +34,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "ListBucketMetricsConfigurations"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket containing the metrics configurations to retrieve.</p> @@ -149,57 +153,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline ListBucketMetricsConfigurationsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline ListBucketMetricsConfigurationsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline ListBucketMetricsConfigurationsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -246,16 +250,16 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_continuationToken; - bool m_continuationTokenHasBeenSet; + bool m_continuationTokenHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketMetricsConfigurationsResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketMetricsConfigurationsResult.h index 4c070322b2..2580419c51 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketMetricsConfigurationsResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketMetricsConfigurationsResult.h @@ -26,12 +26,12 @@ namespace S3 { namespace Model { - class AWS_S3_API ListBucketMetricsConfigurationsResult + class ListBucketMetricsConfigurationsResult { public: - ListBucketMetricsConfigurationsResult(); - ListBucketMetricsConfigurationsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - ListBucketMetricsConfigurationsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API ListBucketMetricsConfigurationsResult(); + AWS_S3_API ListBucketMetricsConfigurationsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API ListBucketMetricsConfigurationsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketsResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketsResult.h index a580ac0aad..5596bd0330 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketsResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketsResult.h @@ -26,46 +26,46 @@ namespace S3 { namespace Model { - class AWS_S3_API ListBucketsResult + class ListBucketsResult { public: - ListBucketsResult(); - ListBucketsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - ListBucketsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API ListBucketsResult(); + AWS_S3_API ListBucketsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API ListBucketsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** - * <p>The list of buckets owned by the requestor.</p> + * <p>The list of buckets owned by the requester.</p> */ inline const Aws::Vector<Bucket>& GetBuckets() const{ return m_buckets; } /** - * <p>The list of buckets owned by the requestor.</p> + * <p>The list of buckets owned by the requester.</p> */ inline void SetBuckets(const Aws::Vector<Bucket>& value) { m_buckets = value; } /** - * <p>The list of buckets owned by the requestor.</p> + * <p>The list of buckets owned by the requester.</p> */ inline void SetBuckets(Aws::Vector<Bucket>&& value) { m_buckets = std::move(value); } /** - * <p>The list of buckets owned by the requestor.</p> + * <p>The list of buckets owned by the requester.</p> */ inline ListBucketsResult& WithBuckets(const Aws::Vector<Bucket>& value) { SetBuckets(value); return *this;} /** - * <p>The list of buckets owned by the requestor.</p> + * <p>The list of buckets owned by the requester.</p> */ inline ListBucketsResult& WithBuckets(Aws::Vector<Bucket>&& value) { SetBuckets(std::move(value)); return *this;} /** - * <p>The list of buckets owned by the requestor.</p> + * <p>The list of buckets owned by the requester.</p> */ inline ListBucketsResult& AddBuckets(const Bucket& value) { m_buckets.push_back(value); return *this; } /** - * <p>The list of buckets owned by the requestor.</p> + * <p>The list of buckets owned by the requester.</p> */ inline ListBucketsResult& AddBuckets(Bucket&& value) { m_buckets.push_back(std::move(value)); return *this; } diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListMultipartUploadsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListMultipartUploadsRequest.h index 97e0e566ad..589441329d 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListMultipartUploadsRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListMultipartUploadsRequest.h @@ -24,10 +24,10 @@ namespace Model /** */ - class AWS_S3_API ListMultipartUploadsRequest : public S3Request + class ListMultipartUploadsRequest : public S3Request { public: - ListMultipartUploadsRequest(); + AWS_S3_API ListMultipartUploadsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,31 +35,35 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "ListMultipartUploads"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket to which the multipart upload was initiated. </p> * <p>When using this action with an access point, you must direct requests to the * access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } @@ -68,19 +72,19 @@ namespace Model * <p>When using this action with an access point, you must direct requests to the * access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } @@ -89,19 +93,19 @@ namespace Model * <p>When using this action with an access point, you must direct requests to the * access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } @@ -110,19 +114,19 @@ namespace Model * <p>When using this action with an access point, you must direct requests to the * access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } @@ -131,19 +135,19 @@ namespace Model * <p>When using this action with an access point, you must direct requests to the * access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } @@ -152,19 +156,19 @@ namespace Model * <p>When using this action with an access point, you must direct requests to the * access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline ListMultipartUploadsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} @@ -173,19 +177,19 @@ namespace Model * <p>When using this action with an access point, you must direct requests to the * access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline ListMultipartUploadsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} @@ -194,19 +198,19 @@ namespace Model * <p>When using this action with an access point, you must direct requests to the * access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline ListMultipartUploadsRequest& WithBucket(const char* value) { SetBucket(value); return *this;} @@ -585,57 +589,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline ListMultipartUploadsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline ListMultipartUploadsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline ListMultipartUploadsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -682,31 +686,31 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_delimiter; - bool m_delimiterHasBeenSet; + bool m_delimiterHasBeenSet = false; EncodingType m_encodingType; - bool m_encodingTypeHasBeenSet; + bool m_encodingTypeHasBeenSet = false; Aws::String m_keyMarker; - bool m_keyMarkerHasBeenSet; + bool m_keyMarkerHasBeenSet = false; int m_maxUploads; - bool m_maxUploadsHasBeenSet; + bool m_maxUploadsHasBeenSet = false; Aws::String m_prefix; - bool m_prefixHasBeenSet; + bool m_prefixHasBeenSet = false; Aws::String m_uploadIdMarker; - bool m_uploadIdMarkerHasBeenSet; + bool m_uploadIdMarkerHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListMultipartUploadsResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListMultipartUploadsResult.h index 70cf65ba6d..1d1d6cd057 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListMultipartUploadsResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListMultipartUploadsResult.h @@ -28,46 +28,53 @@ namespace S3 { namespace Model { - class AWS_S3_API ListMultipartUploadsResult + class ListMultipartUploadsResult { public: - ListMultipartUploadsResult(); - ListMultipartUploadsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - ListMultipartUploadsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API ListMultipartUploadsResult(); + AWS_S3_API ListMultipartUploadsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API ListMultipartUploadsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** - * <p>The name of the bucket to which the multipart upload was initiated.</p> + * <p>The name of the bucket to which the multipart upload was initiated. Does not + * return the access point ARN or access point alias if used.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } /** - * <p>The name of the bucket to which the multipart upload was initiated.</p> + * <p>The name of the bucket to which the multipart upload was initiated. Does not + * return the access point ARN or access point alias if used.</p> */ inline void SetBucket(const Aws::String& value) { m_bucket = value; } /** - * <p>The name of the bucket to which the multipart upload was initiated.</p> + * <p>The name of the bucket to which the multipart upload was initiated. Does not + * return the access point ARN or access point alias if used.</p> */ inline void SetBucket(Aws::String&& value) { m_bucket = std::move(value); } /** - * <p>The name of the bucket to which the multipart upload was initiated.</p> + * <p>The name of the bucket to which the multipart upload was initiated. Does not + * return the access point ARN or access point alias if used.</p> */ inline void SetBucket(const char* value) { m_bucket.assign(value); } /** - * <p>The name of the bucket to which the multipart upload was initiated.</p> + * <p>The name of the bucket to which the multipart upload was initiated. Does not + * return the access point ARN or access point alias if used.</p> */ inline ListMultipartUploadsResult& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} /** - * <p>The name of the bucket to which the multipart upload was initiated.</p> + * <p>The name of the bucket to which the multipart upload was initiated. Does not + * return the access point ARN or access point alias if used.</p> */ inline ListMultipartUploadsResult& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} /** - * <p>The name of the bucket to which the multipart upload was initiated.</p> + * <p>The name of the bucket to which the multipart upload was initiated. Does not + * return the access point ARN or access point alias if used.</p> */ inline ListMultipartUploadsResult& WithBucket(const char* value) { SetBucket(value); return *this;} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectVersionsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectVersionsRequest.h index 9bad797dca..4a61c58927 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectVersionsRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectVersionsRequest.h @@ -24,10 +24,10 @@ namespace Model /** */ - class AWS_S3_API ListObjectVersionsRequest : public S3Request + class ListObjectVersionsRequest : public S3Request { public: - ListObjectVersionsRequest(); + AWS_S3_API ListObjectVersionsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,12 +35,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "ListObjectVersions"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name that contains the objects. </p> @@ -373,57 +377,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline ListObjectVersionsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline ListObjectVersionsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline ListObjectVersionsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -470,31 +474,31 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_delimiter; - bool m_delimiterHasBeenSet; + bool m_delimiterHasBeenSet = false; EncodingType m_encodingType; - bool m_encodingTypeHasBeenSet; + bool m_encodingTypeHasBeenSet = false; Aws::String m_keyMarker; - bool m_keyMarkerHasBeenSet; + bool m_keyMarkerHasBeenSet = false; int m_maxKeys; - bool m_maxKeysHasBeenSet; + bool m_maxKeysHasBeenSet = false; Aws::String m_prefix; - bool m_prefixHasBeenSet; + bool m_prefixHasBeenSet = false; Aws::String m_versionIdMarker; - bool m_versionIdMarkerHasBeenSet; + bool m_versionIdMarkerHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectVersionsResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectVersionsResult.h index 20909af4ad..0d594a929b 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectVersionsResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectVersionsResult.h @@ -29,12 +29,12 @@ namespace S3 { namespace Model { - class AWS_S3_API ListObjectVersionsResult + class ListObjectVersionsResult { public: - ListObjectVersionsResult(); - ListObjectVersionsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - ListObjectVersionsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API ListObjectVersionsResult(); + AWS_S3_API ListObjectVersionsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API ListObjectVersionsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsRequest.h index 0c3c88b0a6..374dfc8f2f 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsRequest.h @@ -25,10 +25,10 @@ namespace Model /** */ - class AWS_S3_API ListObjectsRequest : public S3Request + class ListObjectsRequest : public S3Request { public: - ListObjectsRequest(); + AWS_S3_API ListObjectsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -36,31 +36,35 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "ListObjects"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket containing the objects.</p> <p>When using this action * with an access point, you must direct requests to the access point hostname. The * access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } @@ -69,19 +73,19 @@ namespace Model * with an access point, you must direct requests to the access point hostname. The * access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } @@ -90,19 +94,19 @@ namespace Model * with an access point, you must direct requests to the access point hostname. The * access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } @@ -111,19 +115,19 @@ namespace Model * with an access point, you must direct requests to the access point hostname. The * access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } @@ -132,19 +136,19 @@ namespace Model * with an access point, you must direct requests to the access point hostname. The * access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } @@ -153,19 +157,19 @@ namespace Model * with an access point, you must direct requests to the access point hostname. The * access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline ListObjectsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} @@ -174,19 +178,19 @@ namespace Model * with an access point, you must direct requests to the access point hostname. The * access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline ListObjectsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} @@ -195,19 +199,19 @@ namespace Model * with an access point, you must direct requests to the access point hostname. The * access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline ListObjectsRequest& WithBucket(const char* value) { SetBucket(value); return *this;} @@ -273,42 +277,50 @@ namespace Model /** - * <p>Specifies the key to start with when listing objects in a bucket.</p> + * <p>Marker is where you want Amazon S3 to start listing from. Amazon S3 starts + * listing after this specified key. Marker can be any key in the bucket.</p> */ inline const Aws::String& GetMarker() const{ return m_marker; } /** - * <p>Specifies the key to start with when listing objects in a bucket.</p> + * <p>Marker is where you want Amazon S3 to start listing from. Amazon S3 starts + * listing after this specified key. Marker can be any key in the bucket.</p> */ inline bool MarkerHasBeenSet() const { return m_markerHasBeenSet; } /** - * <p>Specifies the key to start with when listing objects in a bucket.</p> + * <p>Marker is where you want Amazon S3 to start listing from. Amazon S3 starts + * listing after this specified key. Marker can be any key in the bucket.</p> */ inline void SetMarker(const Aws::String& value) { m_markerHasBeenSet = true; m_marker = value; } /** - * <p>Specifies the key to start with when listing objects in a bucket.</p> + * <p>Marker is where you want Amazon S3 to start listing from. Amazon S3 starts + * listing after this specified key. Marker can be any key in the bucket.</p> */ inline void SetMarker(Aws::String&& value) { m_markerHasBeenSet = true; m_marker = std::move(value); } /** - * <p>Specifies the key to start with when listing objects in a bucket.</p> + * <p>Marker is where you want Amazon S3 to start listing from. Amazon S3 starts + * listing after this specified key. Marker can be any key in the bucket.</p> */ inline void SetMarker(const char* value) { m_markerHasBeenSet = true; m_marker.assign(value); } /** - * <p>Specifies the key to start with when listing objects in a bucket.</p> + * <p>Marker is where you want Amazon S3 to start listing from. Amazon S3 starts + * listing after this specified key. Marker can be any key in the bucket.</p> */ inline ListObjectsRequest& WithMarker(const Aws::String& value) { SetMarker(value); return *this;} /** - * <p>Specifies the key to start with when listing objects in a bucket.</p> + * <p>Marker is where you want Amazon S3 to start listing from. Amazon S3 starts + * listing after this specified key. Marker can be any key in the bucket.</p> */ inline ListObjectsRequest& WithMarker(Aws::String&& value) { SetMarker(std::move(value)); return *this;} /** - * <p>Specifies the key to start with when listing objects in a bucket.</p> + * <p>Marker is where you want Amazon S3 to start listing from. Amazon S3 starts + * listing after this specified key. Marker can be any key in the bucket.</p> */ inline ListObjectsRequest& WithMarker(const char* value) { SetMarker(value); return *this;} @@ -428,57 +440,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline ListObjectsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline ListObjectsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline ListObjectsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -525,31 +537,31 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_delimiter; - bool m_delimiterHasBeenSet; + bool m_delimiterHasBeenSet = false; EncodingType m_encodingType; - bool m_encodingTypeHasBeenSet; + bool m_encodingTypeHasBeenSet = false; Aws::String m_marker; - bool m_markerHasBeenSet; + bool m_markerHasBeenSet = false; int m_maxKeys; - bool m_maxKeysHasBeenSet; + bool m_maxKeysHasBeenSet = false; Aws::String m_prefix; - bool m_prefixHasBeenSet; + bool m_prefixHasBeenSet = false; RequestPayer m_requestPayer; - bool m_requestPayerHasBeenSet; + bool m_requestPayerHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsResult.h index cb3b03ca2e..f035833b33 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsResult.h @@ -28,12 +28,12 @@ namespace S3 { namespace Model { - class AWS_S3_API ListObjectsResult + class ListObjectsResult { public: - ListObjectsResult(); - ListObjectsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - ListObjectsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API ListObjectsResult(); + AWS_S3_API ListObjectsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API ListObjectsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Request.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Request.h index 7a8bd556b3..1c6f1528b7 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Request.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Request.h @@ -25,10 +25,10 @@ namespace Model /** */ - class AWS_S3_API ListObjectsV2Request : public S3Request + class ListObjectsV2Request : public S3Request { public: - ListObjectsV2Request(); + AWS_S3_API ListObjectsV2Request(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -36,31 +36,35 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "ListObjectsV2"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>Bucket name to list. </p> <p>When using this action with an access point, you * must direct requests to the access point hostname. The access point hostname * takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } @@ -69,19 +73,19 @@ namespace Model * must direct requests to the access point hostname. The access point hostname * takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } @@ -90,19 +94,19 @@ namespace Model * must direct requests to the access point hostname. The access point hostname * takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } @@ -111,19 +115,19 @@ namespace Model * must direct requests to the access point hostname. The access point hostname * takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } @@ -132,19 +136,19 @@ namespace Model * must direct requests to the access point hostname. The access point hostname * takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } @@ -153,19 +157,19 @@ namespace Model * must direct requests to the access point hostname. The access point hostname * takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline ListObjectsV2Request& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} @@ -174,19 +178,19 @@ namespace Model * must direct requests to the access point hostname. The access point hostname * takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline ListObjectsV2Request& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} @@ -195,19 +199,19 @@ namespace Model * must direct requests to the access point hostname. The access point hostname * takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline ListObjectsV2Request& WithBucket(const char* value) { SetBucket(value); return *this;} @@ -542,57 +546,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline ListObjectsV2Request& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline ListObjectsV2Request& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline ListObjectsV2Request& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -639,37 +643,37 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_delimiter; - bool m_delimiterHasBeenSet; + bool m_delimiterHasBeenSet = false; EncodingType m_encodingType; - bool m_encodingTypeHasBeenSet; + bool m_encodingTypeHasBeenSet = false; int m_maxKeys; - bool m_maxKeysHasBeenSet; + bool m_maxKeysHasBeenSet = false; Aws::String m_prefix; - bool m_prefixHasBeenSet; + bool m_prefixHasBeenSet = false; Aws::String m_continuationToken; - bool m_continuationTokenHasBeenSet; + bool m_continuationTokenHasBeenSet = false; bool m_fetchOwner; - bool m_fetchOwnerHasBeenSet; + bool m_fetchOwnerHasBeenSet = false; Aws::String m_startAfter; - bool m_startAfterHasBeenSet; + bool m_startAfterHasBeenSet = false; RequestPayer m_requestPayer; - bool m_requestPayerHasBeenSet; + bool m_requestPayerHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Result.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Result.h index 14749c9259..e8bf41a8c8 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Result.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Result.h @@ -28,12 +28,12 @@ namespace S3 { namespace Model { - class AWS_S3_API ListObjectsV2Result + class ListObjectsV2Result { public: - ListObjectsV2Result(); - ListObjectsV2Result(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - ListObjectsV2Result& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API ListObjectsV2Result(); + AWS_S3_API ListObjectsV2Result(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API ListObjectsV2Result& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** @@ -99,19 +99,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetName() const{ return m_name; } @@ -120,19 +120,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetName(const Aws::String& value) { m_name = value; } @@ -141,19 +141,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetName(Aws::String&& value) { m_name = std::move(value); } @@ -162,19 +162,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetName(const char* value) { m_name.assign(value); } @@ -183,19 +183,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline ListObjectsV2Result& WithName(const Aws::String& value) { SetName(value); return *this;} @@ -204,19 +204,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline ListObjectsV2Result& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} @@ -225,19 +225,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline ListObjectsV2Result& WithName(const char* value) { SetName(value); return *this;} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListPartsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListPartsRequest.h index fef7905b7a..27652328e3 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListPartsRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListPartsRequest.h @@ -24,10 +24,10 @@ namespace Model /** */ - class AWS_S3_API ListPartsRequest : public S3Request + class ListPartsRequest : public S3Request { public: - ListPartsRequest(); + AWS_S3_API ListPartsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,31 +35,35 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "ListParts"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket to which the parts are being uploaded. </p> <p>When * using this action with an access point, you must direct requests to the access * point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } @@ -68,19 +72,19 @@ namespace Model * using this action with an access point, you must direct requests to the access * point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } @@ -89,19 +93,19 @@ namespace Model * using this action with an access point, you must direct requests to the access * point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } @@ -110,19 +114,19 @@ namespace Model * using this action with an access point, you must direct requests to the access * point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } @@ -131,19 +135,19 @@ namespace Model * using this action with an access point, you must direct requests to the access * point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } @@ -152,19 +156,19 @@ namespace Model * using this action with an access point, you must direct requests to the access * point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline ListPartsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} @@ -173,19 +177,19 @@ namespace Model * using this action with an access point, you must direct requests to the access * point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline ListPartsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} @@ -194,19 +198,19 @@ namespace Model * using this action with an access point, you must direct requests to the access * point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline ListPartsRequest& WithBucket(const char* value) { SetBucket(value); return *this;} @@ -360,61 +364,280 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline ListPartsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline ListPartsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline ListPartsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + /** + * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This + * parameter is needed only when the object was created using a checksum algorithm. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; } + + /** + * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This + * parameter is needed only when the object was created using a checksum algorithm. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool SSECustomerAlgorithmHasBeenSet() const { return m_sSECustomerAlgorithmHasBeenSet; } + + /** + * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This + * parameter is needed only when the object was created using a checksum algorithm. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = value; } + + /** + * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This + * parameter is needed only when the object was created using a checksum algorithm. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = std::move(value); } + + /** + * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This + * parameter is needed only when the object was created using a checksum algorithm. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm.assign(value); } + + /** + * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This + * parameter is needed only when the object was created using a checksum algorithm. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline ListPartsRequest& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;} + + /** + * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This + * parameter is needed only when the object was created using a checksum algorithm. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline ListPartsRequest& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;} + + /** + * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This + * parameter is needed only when the object was created using a checksum algorithm. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline ListPartsRequest& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;} + + + /** + * <p>The server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetSSECustomerKey() const{ return m_sSECustomerKey; } + + /** + * <p>The server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool SSECustomerKeyHasBeenSet() const { return m_sSECustomerKeyHasBeenSet; } + + /** + * <p>The server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetSSECustomerKey(const Aws::String& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = value; } + + /** + * <p>The server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetSSECustomerKey(Aws::String&& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = std::move(value); } + + /** + * <p>The server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetSSECustomerKey(const char* value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey.assign(value); } + + /** + * <p>The server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline ListPartsRequest& WithSSECustomerKey(const Aws::String& value) { SetSSECustomerKey(value); return *this;} + + /** + * <p>The server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline ListPartsRequest& WithSSECustomerKey(Aws::String&& value) { SetSSECustomerKey(std::move(value)); return *this;} + + /** + * <p>The server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline ListPartsRequest& WithSSECustomerKey(const char* value) { SetSSECustomerKey(value); return *this;} + + + /** + * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; } + + /** + * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool SSECustomerKeyMD5HasBeenSet() const { return m_sSECustomerKeyMD5HasBeenSet; } + + /** + * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = value; } + + /** + * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = std::move(value); } + + /** + * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5.assign(value); } + + /** + * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline ListPartsRequest& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;} + + /** + * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline ListPartsRequest& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;} + + /** + * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline ListPartsRequest& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;} + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } @@ -457,28 +680,37 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; int m_maxParts; - bool m_maxPartsHasBeenSet; + bool m_maxPartsHasBeenSet = false; int m_partNumberMarker; - bool m_partNumberMarkerHasBeenSet; + bool m_partNumberMarkerHasBeenSet = false; Aws::String m_uploadId; - bool m_uploadIdHasBeenSet; + bool m_uploadIdHasBeenSet = false; RequestPayer m_requestPayer; - bool m_requestPayerHasBeenSet; + bool m_requestPayerHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; + + Aws::String m_sSECustomerAlgorithm; + bool m_sSECustomerAlgorithmHasBeenSet = false; + + Aws::String m_sSECustomerKey; + bool m_sSECustomerKeyHasBeenSet = false; + + Aws::String m_sSECustomerKeyMD5; + bool m_sSECustomerKeyMD5HasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListPartsResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListPartsResult.h index 9cf2e6d514..c69dd6266b 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListPartsResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListPartsResult.h @@ -12,6 +12,7 @@ #include <aws/s3/model/Owner.h> #include <aws/s3/model/StorageClass.h> #include <aws/s3/model/RequestCharged.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <aws/s3/model/Part.h> #include <utility> @@ -31,12 +32,12 @@ namespace S3 { namespace Model { - class AWS_S3_API ListPartsResult + class ListPartsResult { public: - ListPartsResult(); - ListPartsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - ListPartsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API ListPartsResult(); + AWS_S3_API ListPartsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API ListPartsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** @@ -156,37 +157,44 @@ namespace Model /** - * <p>The name of the bucket to which the multipart upload was initiated.</p> + * <p>The name of the bucket to which the multipart upload was initiated. Does not + * return the access point ARN or access point alias if used.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } /** - * <p>The name of the bucket to which the multipart upload was initiated.</p> + * <p>The name of the bucket to which the multipart upload was initiated. Does not + * return the access point ARN or access point alias if used.</p> */ inline void SetBucket(const Aws::String& value) { m_bucket = value; } /** - * <p>The name of the bucket to which the multipart upload was initiated.</p> + * <p>The name of the bucket to which the multipart upload was initiated. Does not + * return the access point ARN or access point alias if used.</p> */ inline void SetBucket(Aws::String&& value) { m_bucket = std::move(value); } /** - * <p>The name of the bucket to which the multipart upload was initiated.</p> + * <p>The name of the bucket to which the multipart upload was initiated. Does not + * return the access point ARN or access point alias if used.</p> */ inline void SetBucket(const char* value) { m_bucket.assign(value); } /** - * <p>The name of the bucket to which the multipart upload was initiated.</p> + * <p>The name of the bucket to which the multipart upload was initiated. Does not + * return the access point ARN or access point alias if used.</p> */ inline ListPartsResult& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} /** - * <p>The name of the bucket to which the multipart upload was initiated.</p> + * <p>The name of the bucket to which the multipart upload was initiated. Does not + * return the access point ARN or access point alias if used.</p> */ inline ListPartsResult& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} /** - * <p>The name of the bucket to which the multipart upload was initiated.</p> + * <p>The name of the bucket to which the multipart upload was initiated. Does not + * return the access point ARN or access point alias if used.</p> */ inline ListPartsResult& WithBucket(const char* value) { SetBucket(value); return *this;} @@ -390,41 +398,41 @@ namespace Model /** * <p>Container element that identifies who initiated the multipart upload. If the - * initiator is an AWS account, this element provides the same information as the - * <code>Owner</code> element. If the initiator is an IAM User, this element - * provides the user ARN and display name.</p> + * initiator is an Amazon Web Services account, this element provides the same + * information as the <code>Owner</code> element. If the initiator is an IAM User, + * this element provides the user ARN and display name.</p> */ inline const Initiator& GetInitiator() const{ return m_initiator; } /** * <p>Container element that identifies who initiated the multipart upload. If the - * initiator is an AWS account, this element provides the same information as the - * <code>Owner</code> element. If the initiator is an IAM User, this element - * provides the user ARN and display name.</p> + * initiator is an Amazon Web Services account, this element provides the same + * information as the <code>Owner</code> element. If the initiator is an IAM User, + * this element provides the user ARN and display name.</p> */ inline void SetInitiator(const Initiator& value) { m_initiator = value; } /** * <p>Container element that identifies who initiated the multipart upload. If the - * initiator is an AWS account, this element provides the same information as the - * <code>Owner</code> element. If the initiator is an IAM User, this element - * provides the user ARN and display name.</p> + * initiator is an Amazon Web Services account, this element provides the same + * information as the <code>Owner</code> element. If the initiator is an IAM User, + * this element provides the user ARN and display name.</p> */ inline void SetInitiator(Initiator&& value) { m_initiator = std::move(value); } /** * <p>Container element that identifies who initiated the multipart upload. If the - * initiator is an AWS account, this element provides the same information as the - * <code>Owner</code> element. If the initiator is an IAM User, this element - * provides the user ARN and display name.</p> + * initiator is an Amazon Web Services account, this element provides the same + * information as the <code>Owner</code> element. If the initiator is an IAM User, + * this element provides the user ARN and display name.</p> */ inline ListPartsResult& WithInitiator(const Initiator& value) { SetInitiator(value); return *this;} /** * <p>Container element that identifies who initiated the multipart upload. If the - * initiator is an AWS account, this element provides the same information as the - * <code>Owner</code> element. If the initiator is an IAM User, this element - * provides the user ARN and display name.</p> + * initiator is an Amazon Web Services account, this element provides the same + * information as the <code>Owner</code> element. If the initiator is an IAM User, + * this element provides the user ARN and display name.</p> */ inline ListPartsResult& WithInitiator(Initiator&& value) { SetInitiator(std::move(value)); return *this;} @@ -511,6 +519,32 @@ namespace Model inline ListPartsResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithm = value; } + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithm = std::move(value); } + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline ListPartsResult& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline ListPartsResult& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + private: Aws::Utils::DateTime m_abortDate; @@ -540,6 +574,8 @@ namespace Model StorageClass m_storageClass; RequestCharged m_requestCharged; + + ChecksumAlgorithm m_checksumAlgorithm; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LoggingEnabled.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LoggingEnabled.h index 444fbf49f0..3cdf3e9c6f 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LoggingEnabled.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LoggingEnabled.h @@ -28,19 +28,19 @@ namespace Model * <p>Describes where logs are stored and the prefix that Amazon S3 assigns to all * log object keys for a bucket. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html">PUT - * Bucket logging</a> in the <i>Amazon Simple Storage Service API - * Reference</i>.</p><p><h3>See Also:</h3> <a + * Bucket logging</a> in the <i>Amazon S3 API Reference</i>.</p><p><h3>See + * Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LoggingEnabled">AWS * API Reference</a></p> */ - class AWS_S3_API LoggingEnabled + class LoggingEnabled { public: - LoggingEnabled(); - LoggingEnabled(const Aws::Utils::Xml::XmlNode& xmlNode); - LoggingEnabled& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API LoggingEnabled(); + AWS_S3_API LoggingEnabled(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API LoggingEnabled& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -125,42 +125,74 @@ namespace Model /** - * <p>Container for granting information.</p> + * <p>Container for granting information.</p> <p>Buckets that use the bucket owner + * enforced setting for Object Ownership don't support target grants. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general">Permissions + * for server access log delivery</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::Vector<TargetGrant>& GetTargetGrants() const{ return m_targetGrants; } /** - * <p>Container for granting information.</p> + * <p>Container for granting information.</p> <p>Buckets that use the bucket owner + * enforced setting for Object Ownership don't support target grants. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general">Permissions + * for server access log delivery</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool TargetGrantsHasBeenSet() const { return m_targetGrantsHasBeenSet; } /** - * <p>Container for granting information.</p> + * <p>Container for granting information.</p> <p>Buckets that use the bucket owner + * enforced setting for Object Ownership don't support target grants. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general">Permissions + * for server access log delivery</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetTargetGrants(const Aws::Vector<TargetGrant>& value) { m_targetGrantsHasBeenSet = true; m_targetGrants = value; } /** - * <p>Container for granting information.</p> + * <p>Container for granting information.</p> <p>Buckets that use the bucket owner + * enforced setting for Object Ownership don't support target grants. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general">Permissions + * for server access log delivery</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetTargetGrants(Aws::Vector<TargetGrant>&& value) { m_targetGrantsHasBeenSet = true; m_targetGrants = std::move(value); } /** - * <p>Container for granting information.</p> + * <p>Container for granting information.</p> <p>Buckets that use the bucket owner + * enforced setting for Object Ownership don't support target grants. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general">Permissions + * for server access log delivery</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline LoggingEnabled& WithTargetGrants(const Aws::Vector<TargetGrant>& value) { SetTargetGrants(value); return *this;} /** - * <p>Container for granting information.</p> + * <p>Container for granting information.</p> <p>Buckets that use the bucket owner + * enforced setting for Object Ownership don't support target grants. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general">Permissions + * for server access log delivery</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline LoggingEnabled& WithTargetGrants(Aws::Vector<TargetGrant>&& value) { SetTargetGrants(std::move(value)); return *this;} /** - * <p>Container for granting information.</p> + * <p>Container for granting information.</p> <p>Buckets that use the bucket owner + * enforced setting for Object Ownership don't support target grants. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general">Permissions + * for server access log delivery</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline LoggingEnabled& AddTargetGrants(const TargetGrant& value) { m_targetGrantsHasBeenSet = true; m_targetGrants.push_back(value); return *this; } /** - * <p>Container for granting information.</p> + * <p>Container for granting information.</p> <p>Buckets that use the bucket owner + * enforced setting for Object Ownership don't support target grants. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general">Permissions + * for server access log delivery</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline LoggingEnabled& AddTargetGrants(TargetGrant&& value) { m_targetGrantsHasBeenSet = true; m_targetGrants.push_back(std::move(value)); return *this; } @@ -224,13 +256,13 @@ namespace Model private: Aws::String m_targetBucket; - bool m_targetBucketHasBeenSet; + bool m_targetBucketHasBeenSet = false; Aws::Vector<TargetGrant> m_targetGrants; - bool m_targetGrantsHasBeenSet; + bool m_targetGrantsHasBeenSet = false; Aws::String m_targetPrefix; - bool m_targetPrefixHasBeenSet; + bool m_targetPrefixHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetadataEntry.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetadataEntry.h index b6d876e918..f944998953 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetadataEntry.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetadataEntry.h @@ -27,14 +27,14 @@ namespace Model * <a href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MetadataEntry">AWS * API Reference</a></p> */ - class AWS_S3_API MetadataEntry + class MetadataEntry { public: - MetadataEntry(); - MetadataEntry(const Aws::Utils::Xml::XmlNode& xmlNode); - MetadataEntry& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API MetadataEntry(); + AWS_S3_API MetadataEntry(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API MetadataEntry& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -121,10 +121,10 @@ namespace Model private: Aws::String m_name; - bool m_nameHasBeenSet; + bool m_nameHasBeenSet = false; Aws::String m_value; - bool m_valueHasBeenSet; + bool m_valueHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Metrics.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Metrics.h index 815b2b556c..bfec4208b1 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Metrics.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Metrics.h @@ -29,14 +29,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Metrics">AWS API * Reference</a></p> */ - class AWS_S3_API Metrics + class Metrics { public: - Metrics(); - Metrics(const Aws::Utils::Xml::XmlNode& xmlNode); - Metrics& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Metrics(); + AWS_S3_API Metrics(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Metrics& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -109,10 +109,10 @@ namespace Model private: MetricsStatus m_status; - bool m_statusHasBeenSet; + bool m_statusHasBeenSet = false; ReplicationTimeValue m_eventThreshold; - bool m_eventThresholdHasBeenSet; + bool m_eventThresholdHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsAndOperator.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsAndOperator.h index e413af11d9..952c5fd0b1 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsAndOperator.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsAndOperator.h @@ -32,14 +32,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MetricsAndOperator">AWS * API Reference</a></p> */ - class AWS_S3_API MetricsAndOperator + class MetricsAndOperator { public: - MetricsAndOperator(); - MetricsAndOperator(const Aws::Utils::Xml::XmlNode& xmlNode); - MetricsAndOperator& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API MetricsAndOperator(); + AWS_S3_API MetricsAndOperator(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API MetricsAndOperator& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -123,13 +123,57 @@ namespace Model */ inline MetricsAndOperator& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + + /** + * <p>The access point ARN used when evaluating an <code>AND</code> predicate.</p> + */ + inline const Aws::String& GetAccessPointArn() const{ return m_accessPointArn; } + + /** + * <p>The access point ARN used when evaluating an <code>AND</code> predicate.</p> + */ + inline bool AccessPointArnHasBeenSet() const { return m_accessPointArnHasBeenSet; } + + /** + * <p>The access point ARN used when evaluating an <code>AND</code> predicate.</p> + */ + inline void SetAccessPointArn(const Aws::String& value) { m_accessPointArnHasBeenSet = true; m_accessPointArn = value; } + + /** + * <p>The access point ARN used when evaluating an <code>AND</code> predicate.</p> + */ + inline void SetAccessPointArn(Aws::String&& value) { m_accessPointArnHasBeenSet = true; m_accessPointArn = std::move(value); } + + /** + * <p>The access point ARN used when evaluating an <code>AND</code> predicate.</p> + */ + inline void SetAccessPointArn(const char* value) { m_accessPointArnHasBeenSet = true; m_accessPointArn.assign(value); } + + /** + * <p>The access point ARN used when evaluating an <code>AND</code> predicate.</p> + */ + inline MetricsAndOperator& WithAccessPointArn(const Aws::String& value) { SetAccessPointArn(value); return *this;} + + /** + * <p>The access point ARN used when evaluating an <code>AND</code> predicate.</p> + */ + inline MetricsAndOperator& WithAccessPointArn(Aws::String&& value) { SetAccessPointArn(std::move(value)); return *this;} + + /** + * <p>The access point ARN used when evaluating an <code>AND</code> predicate.</p> + */ + inline MetricsAndOperator& WithAccessPointArn(const char* value) { SetAccessPointArn(value); return *this;} + private: Aws::String m_prefix; - bool m_prefixHasBeenSet; + bool m_prefixHasBeenSet = false; Aws::Vector<Tag> m_tags; - bool m_tagsHasBeenSet; + bool m_tagsHasBeenSet = false; + + Aws::String m_accessPointArn; + bool m_accessPointArnHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsConfiguration.h index 57abb1c653..8806bb12c3 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsConfiguration.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsConfiguration.h @@ -29,20 +29,19 @@ namespace Model * updating an existing metrics configuration, note that this is a full replacement * of the existing metrics configuration. If you don't include the elements you * want to keep, they are erased. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html"> - * PUT Bucket metrics</a> in the <i>Amazon Simple Storage Service API - * Reference</i>.</p><p><h3>See Also:</h3> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html">PutBucketMetricsConfiguration</a>.</p><p><h3>See + * Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MetricsConfiguration">AWS * API Reference</a></p> */ - class AWS_S3_API MetricsConfiguration + class MetricsConfiguration { public: - MetricsConfiguration(); - MetricsConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); - MetricsConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API MetricsConfiguration(); + AWS_S3_API MetricsConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API MetricsConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -88,53 +87,53 @@ namespace Model /** * <p>Specifies a metrics configuration filter. The metrics configuration will only - * include objects that meet the filter's criteria. A filter must be a prefix, a - * tag, or a conjunction (MetricsAndOperator).</p> + * include objects that meet the filter's criteria. A filter must be a prefix, an + * object tag, an access point ARN, or a conjunction (MetricsAndOperator).</p> */ inline const MetricsFilter& GetFilter() const{ return m_filter; } /** * <p>Specifies a metrics configuration filter. The metrics configuration will only - * include objects that meet the filter's criteria. A filter must be a prefix, a - * tag, or a conjunction (MetricsAndOperator).</p> + * include objects that meet the filter's criteria. A filter must be a prefix, an + * object tag, an access point ARN, or a conjunction (MetricsAndOperator).</p> */ inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } /** * <p>Specifies a metrics configuration filter. The metrics configuration will only - * include objects that meet the filter's criteria. A filter must be a prefix, a - * tag, or a conjunction (MetricsAndOperator).</p> + * include objects that meet the filter's criteria. A filter must be a prefix, an + * object tag, an access point ARN, or a conjunction (MetricsAndOperator).</p> */ inline void SetFilter(const MetricsFilter& value) { m_filterHasBeenSet = true; m_filter = value; } /** * <p>Specifies a metrics configuration filter. The metrics configuration will only - * include objects that meet the filter's criteria. A filter must be a prefix, a - * tag, or a conjunction (MetricsAndOperator).</p> + * include objects that meet the filter's criteria. A filter must be a prefix, an + * object tag, an access point ARN, or a conjunction (MetricsAndOperator).</p> */ inline void SetFilter(MetricsFilter&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } /** * <p>Specifies a metrics configuration filter. The metrics configuration will only - * include objects that meet the filter's criteria. A filter must be a prefix, a - * tag, or a conjunction (MetricsAndOperator).</p> + * include objects that meet the filter's criteria. A filter must be a prefix, an + * object tag, an access point ARN, or a conjunction (MetricsAndOperator).</p> */ inline MetricsConfiguration& WithFilter(const MetricsFilter& value) { SetFilter(value); return *this;} /** * <p>Specifies a metrics configuration filter. The metrics configuration will only - * include objects that meet the filter's criteria. A filter must be a prefix, a - * tag, or a conjunction (MetricsAndOperator).</p> + * include objects that meet the filter's criteria. A filter must be a prefix, an + * object tag, an access point ARN, or a conjunction (MetricsAndOperator).</p> */ inline MetricsConfiguration& WithFilter(MetricsFilter&& value) { SetFilter(std::move(value)); return *this;} private: Aws::String m_id; - bool m_idHasBeenSet; + bool m_idHasBeenSet = false; MetricsFilter m_filter; - bool m_filterHasBeenSet; + bool m_filterHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsFilter.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsFilter.h index 1305abdf21..b0086b9eca 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsFilter.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsFilter.h @@ -26,19 +26,22 @@ namespace Model /** * <p>Specifies a metrics configuration filter. The metrics configuration only - * includes objects that meet the filter's criteria. A filter must be a prefix, a - * tag, or a conjunction (MetricsAndOperator).</p><p><h3>See Also:</h3> <a + * includes objects that meet the filter's criteria. A filter must be a prefix, an + * object tag, an access point ARN, or a conjunction (MetricsAndOperator). For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html">PutBucketMetricsConfiguration</a>.</p><p><h3>See + * Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MetricsFilter">AWS * API Reference</a></p> */ - class AWS_S3_API MetricsFilter + class MetricsFilter { public: - MetricsFilter(); - MetricsFilter(const Aws::Utils::Xml::XmlNode& xmlNode); - MetricsFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API MetricsFilter(); + AWS_S3_API MetricsFilter(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API MetricsFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -114,6 +117,47 @@ namespace Model /** + * <p>The access point ARN used when evaluating a metrics filter.</p> + */ + inline const Aws::String& GetAccessPointArn() const{ return m_accessPointArn; } + + /** + * <p>The access point ARN used when evaluating a metrics filter.</p> + */ + inline bool AccessPointArnHasBeenSet() const { return m_accessPointArnHasBeenSet; } + + /** + * <p>The access point ARN used when evaluating a metrics filter.</p> + */ + inline void SetAccessPointArn(const Aws::String& value) { m_accessPointArnHasBeenSet = true; m_accessPointArn = value; } + + /** + * <p>The access point ARN used when evaluating a metrics filter.</p> + */ + inline void SetAccessPointArn(Aws::String&& value) { m_accessPointArnHasBeenSet = true; m_accessPointArn = std::move(value); } + + /** + * <p>The access point ARN used when evaluating a metrics filter.</p> + */ + inline void SetAccessPointArn(const char* value) { m_accessPointArnHasBeenSet = true; m_accessPointArn.assign(value); } + + /** + * <p>The access point ARN used when evaluating a metrics filter.</p> + */ + inline MetricsFilter& WithAccessPointArn(const Aws::String& value) { SetAccessPointArn(value); return *this;} + + /** + * <p>The access point ARN used when evaluating a metrics filter.</p> + */ + inline MetricsFilter& WithAccessPointArn(Aws::String&& value) { SetAccessPointArn(std::move(value)); return *this;} + + /** + * <p>The access point ARN used when evaluating a metrics filter.</p> + */ + inline MetricsFilter& WithAccessPointArn(const char* value) { SetAccessPointArn(value); return *this;} + + + /** * <p>A conjunction (logical AND) of predicates, which is used in evaluating a * metrics filter. The operator must have at least two predicates, and an object * must match all of the predicates in order for the filter to apply.</p> @@ -158,13 +202,16 @@ namespace Model private: Aws::String m_prefix; - bool m_prefixHasBeenSet; + bool m_prefixHasBeenSet = false; Tag m_tag; - bool m_tagHasBeenSet; + bool m_tagHasBeenSet = false; + + Aws::String m_accessPointArn; + bool m_accessPointArnHasBeenSet = false; MetricsAndOperator m_and; - bool m_andHasBeenSet; + bool m_andHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MultipartUpload.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MultipartUpload.h index 29eafa4222..b0dad12ce0 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MultipartUpload.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MultipartUpload.h @@ -10,6 +10,7 @@ #include <aws/s3/model/StorageClass.h> #include <aws/s3/model/Owner.h> #include <aws/s3/model/Initiator.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <utility> namespace Aws @@ -32,14 +33,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MultipartUpload">AWS * API Reference</a></p> */ - class AWS_S3_API MultipartUpload + class MultipartUpload { public: - MultipartUpload(); - MultipartUpload(const Aws::Utils::Xml::XmlNode& xmlNode); - MultipartUpload& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API MultipartUpload(); + AWS_S3_API MultipartUpload(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API MultipartUpload& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -247,25 +248,59 @@ namespace Model */ inline MultipartUpload& WithInitiator(Initiator&& value) { SetInitiator(std::move(value)); return *this;} + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline MultipartUpload& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline MultipartUpload& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + private: Aws::String m_uploadId; - bool m_uploadIdHasBeenSet; + bool m_uploadIdHasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; Aws::Utils::DateTime m_initiated; - bool m_initiatedHasBeenSet; + bool m_initiatedHasBeenSet = false; StorageClass m_storageClass; - bool m_storageClassHasBeenSet; + bool m_storageClassHasBeenSet = false; Owner m_owner; - bool m_ownerHasBeenSet; + bool m_ownerHasBeenSet = false; Initiator m_initiator; - bool m_initiatorHasBeenSet; + bool m_initiatorHasBeenSet = false; + + ChecksumAlgorithm m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NoncurrentVersionExpiration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NoncurrentVersionExpiration.h index 9e966d7722..c039ca9950 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NoncurrentVersionExpiration.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NoncurrentVersionExpiration.h @@ -29,60 +29,100 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NoncurrentVersionExpiration">AWS * API Reference</a></p> */ - class AWS_S3_API NoncurrentVersionExpiration + class NoncurrentVersionExpiration { public: - NoncurrentVersionExpiration(); - NoncurrentVersionExpiration(const Aws::Utils::Xml::XmlNode& xmlNode); - NoncurrentVersionExpiration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API NoncurrentVersionExpiration(); + AWS_S3_API NoncurrentVersionExpiration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API NoncurrentVersionExpiration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** * <p>Specifies the number of days an object is noncurrent before Amazon S3 can - * perform the associated action. For information about the noncurrent days - * calculations, see <a + * perform the associated action. The value must be a non-zero positive integer. + * For information about the noncurrent days calculations, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations">How - * Amazon S3 Calculates When an Object Became Noncurrent</a> in the <i>Amazon - * Simple Storage Service Developer Guide</i>.</p> + * Amazon S3 Calculates When an Object Became Noncurrent</a> in the <i>Amazon S3 + * User Guide</i>.</p> */ inline int GetNoncurrentDays() const{ return m_noncurrentDays; } /** * <p>Specifies the number of days an object is noncurrent before Amazon S3 can - * perform the associated action. For information about the noncurrent days - * calculations, see <a + * perform the associated action. The value must be a non-zero positive integer. + * For information about the noncurrent days calculations, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations">How - * Amazon S3 Calculates When an Object Became Noncurrent</a> in the <i>Amazon - * Simple Storage Service Developer Guide</i>.</p> + * Amazon S3 Calculates When an Object Became Noncurrent</a> in the <i>Amazon S3 + * User Guide</i>.</p> */ inline bool NoncurrentDaysHasBeenSet() const { return m_noncurrentDaysHasBeenSet; } /** * <p>Specifies the number of days an object is noncurrent before Amazon S3 can - * perform the associated action. For information about the noncurrent days - * calculations, see <a + * perform the associated action. The value must be a non-zero positive integer. + * For information about the noncurrent days calculations, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations">How - * Amazon S3 Calculates When an Object Became Noncurrent</a> in the <i>Amazon - * Simple Storage Service Developer Guide</i>.</p> + * Amazon S3 Calculates When an Object Became Noncurrent</a> in the <i>Amazon S3 + * User Guide</i>.</p> */ inline void SetNoncurrentDays(int value) { m_noncurrentDaysHasBeenSet = true; m_noncurrentDays = value; } /** * <p>Specifies the number of days an object is noncurrent before Amazon S3 can - * perform the associated action. For information about the noncurrent days - * calculations, see <a + * perform the associated action. The value must be a non-zero positive integer. + * For information about the noncurrent days calculations, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations">How - * Amazon S3 Calculates When an Object Became Noncurrent</a> in the <i>Amazon - * Simple Storage Service Developer Guide</i>.</p> + * Amazon S3 Calculates When an Object Became Noncurrent</a> in the <i>Amazon S3 + * User Guide</i>.</p> */ inline NoncurrentVersionExpiration& WithNoncurrentDays(int value) { SetNoncurrentDays(value); return *this;} + + /** + * <p>Specifies how many noncurrent versions Amazon S3 will retain. If there are + * this many more recent noncurrent versions, Amazon S3 will take the associated + * action. For more information about noncurrent versions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html">Lifecycle + * configuration elements</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline int GetNewerNoncurrentVersions() const{ return m_newerNoncurrentVersions; } + + /** + * <p>Specifies how many noncurrent versions Amazon S3 will retain. If there are + * this many more recent noncurrent versions, Amazon S3 will take the associated + * action. For more information about noncurrent versions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html">Lifecycle + * configuration elements</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool NewerNoncurrentVersionsHasBeenSet() const { return m_newerNoncurrentVersionsHasBeenSet; } + + /** + * <p>Specifies how many noncurrent versions Amazon S3 will retain. If there are + * this many more recent noncurrent versions, Amazon S3 will take the associated + * action. For more information about noncurrent versions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html">Lifecycle + * configuration elements</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetNewerNoncurrentVersions(int value) { m_newerNoncurrentVersionsHasBeenSet = true; m_newerNoncurrentVersions = value; } + + /** + * <p>Specifies how many noncurrent versions Amazon S3 will retain. If there are + * this many more recent noncurrent versions, Amazon S3 will take the associated + * action. For more information about noncurrent versions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html">Lifecycle + * configuration elements</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline NoncurrentVersionExpiration& WithNewerNoncurrentVersions(int value) { SetNewerNoncurrentVersions(value); return *this;} + private: int m_noncurrentDays; - bool m_noncurrentDaysHasBeenSet; + bool m_noncurrentDaysHasBeenSet = false; + + int m_newerNoncurrentVersions; + bool m_newerNoncurrentVersionsHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NoncurrentVersionTransition.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NoncurrentVersionTransition.h index f6ea66e084..340d82a597 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NoncurrentVersionTransition.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NoncurrentVersionTransition.h @@ -25,24 +25,25 @@ namespace Model /** * <p>Container for the transition rule that describes when noncurrent objects * transition to the <code>STANDARD_IA</code>, <code>ONEZONE_IA</code>, - * <code>INTELLIGENT_TIERING</code>, <code>GLACIER</code>, or - * <code>DEEP_ARCHIVE</code> storage class. If your bucket is versioning-enabled + * <code>INTELLIGENT_TIERING</code>, <code>GLACIER_IR</code>, <code>GLACIER</code>, + * or <code>DEEP_ARCHIVE</code> storage class. If your bucket is versioning-enabled * (or versioning is suspended), you can set this action to request that Amazon S3 * transition noncurrent object versions to the <code>STANDARD_IA</code>, - * <code>ONEZONE_IA</code>, <code>INTELLIGENT_TIERING</code>, <code>GLACIER</code>, - * or <code>DEEP_ARCHIVE</code> storage class at a specific period in the object's - * lifetime.</p><p><h3>See Also:</h3> <a + * <code>ONEZONE_IA</code>, <code>INTELLIGENT_TIERING</code>, + * <code>GLACIER_IR</code>, <code>GLACIER</code>, or <code>DEEP_ARCHIVE</code> + * storage class at a specific period in the object's lifetime.</p><p><h3>See + * Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NoncurrentVersionTransition">AWS * API Reference</a></p> */ - class AWS_S3_API NoncurrentVersionTransition + class NoncurrentVersionTransition { public: - NoncurrentVersionTransition(); - NoncurrentVersionTransition(const Aws::Utils::Xml::XmlNode& xmlNode); - NoncurrentVersionTransition& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API NoncurrentVersionTransition(); + AWS_S3_API NoncurrentVersionTransition(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API NoncurrentVersionTransition& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -116,13 +117,53 @@ namespace Model */ inline NoncurrentVersionTransition& WithStorageClass(TransitionStorageClass&& value) { SetStorageClass(std::move(value)); return *this;} + + /** + * <p>Specifies how many noncurrent versions Amazon S3 will retain. If there are + * this many more recent noncurrent versions, Amazon S3 will take the associated + * action. For more information about noncurrent versions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html">Lifecycle + * configuration elements</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline int GetNewerNoncurrentVersions() const{ return m_newerNoncurrentVersions; } + + /** + * <p>Specifies how many noncurrent versions Amazon S3 will retain. If there are + * this many more recent noncurrent versions, Amazon S3 will take the associated + * action. For more information about noncurrent versions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html">Lifecycle + * configuration elements</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool NewerNoncurrentVersionsHasBeenSet() const { return m_newerNoncurrentVersionsHasBeenSet; } + + /** + * <p>Specifies how many noncurrent versions Amazon S3 will retain. If there are + * this many more recent noncurrent versions, Amazon S3 will take the associated + * action. For more information about noncurrent versions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html">Lifecycle + * configuration elements</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetNewerNoncurrentVersions(int value) { m_newerNoncurrentVersionsHasBeenSet = true; m_newerNoncurrentVersions = value; } + + /** + * <p>Specifies how many noncurrent versions Amazon S3 will retain. If there are + * this many more recent noncurrent versions, Amazon S3 will take the associated + * action. For more information about noncurrent versions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html">Lifecycle + * configuration elements</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline NoncurrentVersionTransition& WithNewerNoncurrentVersions(int value) { SetNewerNoncurrentVersions(value); return *this;} + private: int m_noncurrentDays; - bool m_noncurrentDaysHasBeenSet; + bool m_noncurrentDaysHasBeenSet = false; TransitionStorageClass m_storageClass; - bool m_storageClassHasBeenSet; + bool m_storageClassHasBeenSet = false; + + int m_newerNoncurrentVersions; + bool m_newerNoncurrentVersionsHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NotificationConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NotificationConfiguration.h index f479b46490..24f0e6cbc0 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NotificationConfiguration.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NotificationConfiguration.h @@ -6,6 +6,7 @@ #pragma once #include <aws/s3/S3_EXPORTS.h> #include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/EventBridgeConfiguration.h> #include <aws/s3/model/TopicConfiguration.h> #include <aws/s3/model/QueueConfiguration.h> #include <aws/s3/model/LambdaFunctionConfiguration.h> @@ -32,14 +33,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NotificationConfiguration">AWS * API Reference</a></p> */ - class AWS_S3_API NotificationConfiguration + class NotificationConfiguration { public: - NotificationConfiguration(); - NotificationConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); - NotificationConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API NotificationConfiguration(); + AWS_S3_API NotificationConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API NotificationConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -141,63 +142,97 @@ namespace Model /** - * <p>Describes the AWS Lambda functions to invoke and the events for which to - * invoke them.</p> + * <p>Describes the Lambda functions to invoke and the events for which to invoke + * them.</p> */ inline const Aws::Vector<LambdaFunctionConfiguration>& GetLambdaFunctionConfigurations() const{ return m_lambdaFunctionConfigurations; } /** - * <p>Describes the AWS Lambda functions to invoke and the events for which to - * invoke them.</p> + * <p>Describes the Lambda functions to invoke and the events for which to invoke + * them.</p> */ inline bool LambdaFunctionConfigurationsHasBeenSet() const { return m_lambdaFunctionConfigurationsHasBeenSet; } /** - * <p>Describes the AWS Lambda functions to invoke and the events for which to - * invoke them.</p> + * <p>Describes the Lambda functions to invoke and the events for which to invoke + * them.</p> */ inline void SetLambdaFunctionConfigurations(const Aws::Vector<LambdaFunctionConfiguration>& value) { m_lambdaFunctionConfigurationsHasBeenSet = true; m_lambdaFunctionConfigurations = value; } /** - * <p>Describes the AWS Lambda functions to invoke and the events for which to - * invoke them.</p> + * <p>Describes the Lambda functions to invoke and the events for which to invoke + * them.</p> */ inline void SetLambdaFunctionConfigurations(Aws::Vector<LambdaFunctionConfiguration>&& value) { m_lambdaFunctionConfigurationsHasBeenSet = true; m_lambdaFunctionConfigurations = std::move(value); } /** - * <p>Describes the AWS Lambda functions to invoke and the events for which to - * invoke them.</p> + * <p>Describes the Lambda functions to invoke and the events for which to invoke + * them.</p> */ inline NotificationConfiguration& WithLambdaFunctionConfigurations(const Aws::Vector<LambdaFunctionConfiguration>& value) { SetLambdaFunctionConfigurations(value); return *this;} /** - * <p>Describes the AWS Lambda functions to invoke and the events for which to - * invoke them.</p> + * <p>Describes the Lambda functions to invoke and the events for which to invoke + * them.</p> */ inline NotificationConfiguration& WithLambdaFunctionConfigurations(Aws::Vector<LambdaFunctionConfiguration>&& value) { SetLambdaFunctionConfigurations(std::move(value)); return *this;} /** - * <p>Describes the AWS Lambda functions to invoke and the events for which to - * invoke them.</p> + * <p>Describes the Lambda functions to invoke and the events for which to invoke + * them.</p> */ inline NotificationConfiguration& AddLambdaFunctionConfigurations(const LambdaFunctionConfiguration& value) { m_lambdaFunctionConfigurationsHasBeenSet = true; m_lambdaFunctionConfigurations.push_back(value); return *this; } /** - * <p>Describes the AWS Lambda functions to invoke and the events for which to - * invoke them.</p> + * <p>Describes the Lambda functions to invoke and the events for which to invoke + * them.</p> */ inline NotificationConfiguration& AddLambdaFunctionConfigurations(LambdaFunctionConfiguration&& value) { m_lambdaFunctionConfigurationsHasBeenSet = true; m_lambdaFunctionConfigurations.push_back(std::move(value)); return *this; } + + /** + * <p>Enables delivery of events to Amazon EventBridge.</p> + */ + inline const EventBridgeConfiguration& GetEventBridgeConfiguration() const{ return m_eventBridgeConfiguration; } + + /** + * <p>Enables delivery of events to Amazon EventBridge.</p> + */ + inline bool EventBridgeConfigurationHasBeenSet() const { return m_eventBridgeConfigurationHasBeenSet; } + + /** + * <p>Enables delivery of events to Amazon EventBridge.</p> + */ + inline void SetEventBridgeConfiguration(const EventBridgeConfiguration& value) { m_eventBridgeConfigurationHasBeenSet = true; m_eventBridgeConfiguration = value; } + + /** + * <p>Enables delivery of events to Amazon EventBridge.</p> + */ + inline void SetEventBridgeConfiguration(EventBridgeConfiguration&& value) { m_eventBridgeConfigurationHasBeenSet = true; m_eventBridgeConfiguration = std::move(value); } + + /** + * <p>Enables delivery of events to Amazon EventBridge.</p> + */ + inline NotificationConfiguration& WithEventBridgeConfiguration(const EventBridgeConfiguration& value) { SetEventBridgeConfiguration(value); return *this;} + + /** + * <p>Enables delivery of events to Amazon EventBridge.</p> + */ + inline NotificationConfiguration& WithEventBridgeConfiguration(EventBridgeConfiguration&& value) { SetEventBridgeConfiguration(std::move(value)); return *this;} + private: Aws::Vector<TopicConfiguration> m_topicConfigurations; - bool m_topicConfigurationsHasBeenSet; + bool m_topicConfigurationsHasBeenSet = false; Aws::Vector<QueueConfiguration> m_queueConfigurations; - bool m_queueConfigurationsHasBeenSet; + bool m_queueConfigurationsHasBeenSet = false; Aws::Vector<LambdaFunctionConfiguration> m_lambdaFunctionConfigurations; - bool m_lambdaFunctionConfigurationsHasBeenSet; + bool m_lambdaFunctionConfigurationsHasBeenSet = false; + + EventBridgeConfiguration m_eventBridgeConfiguration; + bool m_eventBridgeConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NotificationConfigurationDeprecated.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NotificationConfigurationDeprecated.h index fabb46afcf..2f6618fc4e 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NotificationConfigurationDeprecated.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NotificationConfigurationDeprecated.h @@ -24,14 +24,14 @@ namespace S3 namespace Model { - class AWS_S3_API NotificationConfigurationDeprecated + class NotificationConfigurationDeprecated { public: - NotificationConfigurationDeprecated(); - NotificationConfigurationDeprecated(const Aws::Utils::Xml::XmlNode& xmlNode); - NotificationConfigurationDeprecated& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API NotificationConfigurationDeprecated(); + AWS_S3_API NotificationConfigurationDeprecated(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API NotificationConfigurationDeprecated& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -121,45 +121,45 @@ namespace Model /** - * <p>Container for specifying the AWS Lambda notification configuration.</p> + * <p>Container for specifying the Lambda notification configuration.</p> */ inline const CloudFunctionConfiguration& GetCloudFunctionConfiguration() const{ return m_cloudFunctionConfiguration; } /** - * <p>Container for specifying the AWS Lambda notification configuration.</p> + * <p>Container for specifying the Lambda notification configuration.</p> */ inline bool CloudFunctionConfigurationHasBeenSet() const { return m_cloudFunctionConfigurationHasBeenSet; } /** - * <p>Container for specifying the AWS Lambda notification configuration.</p> + * <p>Container for specifying the Lambda notification configuration.</p> */ inline void SetCloudFunctionConfiguration(const CloudFunctionConfiguration& value) { m_cloudFunctionConfigurationHasBeenSet = true; m_cloudFunctionConfiguration = value; } /** - * <p>Container for specifying the AWS Lambda notification configuration.</p> + * <p>Container for specifying the Lambda notification configuration.</p> */ inline void SetCloudFunctionConfiguration(CloudFunctionConfiguration&& value) { m_cloudFunctionConfigurationHasBeenSet = true; m_cloudFunctionConfiguration = std::move(value); } /** - * <p>Container for specifying the AWS Lambda notification configuration.</p> + * <p>Container for specifying the Lambda notification configuration.</p> */ inline NotificationConfigurationDeprecated& WithCloudFunctionConfiguration(const CloudFunctionConfiguration& value) { SetCloudFunctionConfiguration(value); return *this;} /** - * <p>Container for specifying the AWS Lambda notification configuration.</p> + * <p>Container for specifying the Lambda notification configuration.</p> */ inline NotificationConfigurationDeprecated& WithCloudFunctionConfiguration(CloudFunctionConfiguration&& value) { SetCloudFunctionConfiguration(std::move(value)); return *this;} private: TopicConfigurationDeprecated m_topicConfiguration; - bool m_topicConfigurationHasBeenSet; + bool m_topicConfigurationHasBeenSet = false; QueueConfigurationDeprecated m_queueConfiguration; - bool m_queueConfigurationHasBeenSet; + bool m_queueConfigurationHasBeenSet = false; CloudFunctionConfiguration m_cloudFunctionConfiguration; - bool m_cloudFunctionConfigurationHasBeenSet; + bool m_cloudFunctionConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NotificationConfigurationFilter.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NotificationConfigurationFilter.h index 496d5d756f..0bfe347533 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NotificationConfigurationFilter.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NotificationConfigurationFilter.h @@ -31,14 +31,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NotificationConfigurationFilter">AWS * API Reference</a></p> */ - class AWS_S3_API NotificationConfigurationFilter + class NotificationConfigurationFilter { public: - NotificationConfigurationFilter(); - NotificationConfigurationFilter(const Aws::Utils::Xml::XmlNode& xmlNode); - NotificationConfigurationFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API NotificationConfigurationFilter(); + AWS_S3_API NotificationConfigurationFilter(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API NotificationConfigurationFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; @@ -62,7 +62,7 @@ namespace Model private: S3KeyFilter m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Object.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Object.h index 2deeed80c9..520cf869c6 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Object.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Object.h @@ -7,8 +7,10 @@ #include <aws/s3/S3_EXPORTS.h> #include <aws/core/utils/memory/stl/AWSString.h> #include <aws/core/utils/DateTime.h> +#include <aws/core/utils/memory/stl/AWSVector.h> #include <aws/s3/model/ObjectStorageClass.h> #include <aws/s3/model/Owner.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <utility> namespace Aws @@ -31,14 +33,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Object">AWS API * Reference</a></p> */ - class AWS_S3_API Object + class Object { public: - Object(); - Object(const Aws::Utils::Xml::XmlNode& xmlNode); - Object& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Object(); + AWS_S3_API Object(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Object& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -126,14 +128,17 @@ namespace Model * contents of an object, not its metadata. The ETag may or may not be an MD5 * digest of the object data. Whether or not it is depends on how the object was * created and how it is encrypted as described below:</p> <ul> <li> <p>Objects - * created by the PUT Object, POST Object, or Copy operation, or through the AWS - * Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that - * are an MD5 digest of their object data.</p> </li> <li> <p>Objects created by the - * PUT Object, POST Object, or Copy operation, or through the AWS Management - * Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are not an MD5 - * digest of their object data.</p> </li> <li> <p>If an object is created by either - * the Multipart Upload or Part Copy operation, the ETag is not an MD5 digest, - * regardless of the method of encryption.</p> </li> </ul> + * created by the PUT Object, POST Object, or Copy operation, or through the Amazon + * Web Services Management Console, and are encrypted by SSE-S3 or plaintext, have + * ETags that are an MD5 digest of their object data.</p> </li> <li> <p>Objects + * created by the PUT Object, POST Object, or Copy operation, or through the Amazon + * Web Services Management Console, and are encrypted by SSE-C or SSE-KMS, have + * ETags that are not an MD5 digest of their object data.</p> </li> <li> <p>If an + * object is created by either the Multipart Upload or Part Copy operation, the + * ETag is not an MD5 digest, regardless of the method of encryption. If an object + * is larger than 16 MB, the Amazon Web Services Management Console will upload or + * copy that object as a Multipart Upload, and therefore the ETag will not be an + * MD5 digest.</p> </li> </ul> */ inline const Aws::String& GetETag() const{ return m_eTag; } @@ -142,14 +147,17 @@ namespace Model * contents of an object, not its metadata. The ETag may or may not be an MD5 * digest of the object data. Whether or not it is depends on how the object was * created and how it is encrypted as described below:</p> <ul> <li> <p>Objects - * created by the PUT Object, POST Object, or Copy operation, or through the AWS - * Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that - * are an MD5 digest of their object data.</p> </li> <li> <p>Objects created by the - * PUT Object, POST Object, or Copy operation, or through the AWS Management - * Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are not an MD5 - * digest of their object data.</p> </li> <li> <p>If an object is created by either - * the Multipart Upload or Part Copy operation, the ETag is not an MD5 digest, - * regardless of the method of encryption.</p> </li> </ul> + * created by the PUT Object, POST Object, or Copy operation, or through the Amazon + * Web Services Management Console, and are encrypted by SSE-S3 or plaintext, have + * ETags that are an MD5 digest of their object data.</p> </li> <li> <p>Objects + * created by the PUT Object, POST Object, or Copy operation, or through the Amazon + * Web Services Management Console, and are encrypted by SSE-C or SSE-KMS, have + * ETags that are not an MD5 digest of their object data.</p> </li> <li> <p>If an + * object is created by either the Multipart Upload or Part Copy operation, the + * ETag is not an MD5 digest, regardless of the method of encryption. If an object + * is larger than 16 MB, the Amazon Web Services Management Console will upload or + * copy that object as a Multipart Upload, and therefore the ETag will not be an + * MD5 digest.</p> </li> </ul> */ inline bool ETagHasBeenSet() const { return m_eTagHasBeenSet; } @@ -158,14 +166,17 @@ namespace Model * contents of an object, not its metadata. The ETag may or may not be an MD5 * digest of the object data. Whether or not it is depends on how the object was * created and how it is encrypted as described below:</p> <ul> <li> <p>Objects - * created by the PUT Object, POST Object, or Copy operation, or through the AWS - * Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that - * are an MD5 digest of their object data.</p> </li> <li> <p>Objects created by the - * PUT Object, POST Object, or Copy operation, or through the AWS Management - * Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are not an MD5 - * digest of their object data.</p> </li> <li> <p>If an object is created by either - * the Multipart Upload or Part Copy operation, the ETag is not an MD5 digest, - * regardless of the method of encryption.</p> </li> </ul> + * created by the PUT Object, POST Object, or Copy operation, or through the Amazon + * Web Services Management Console, and are encrypted by SSE-S3 or plaintext, have + * ETags that are an MD5 digest of their object data.</p> </li> <li> <p>Objects + * created by the PUT Object, POST Object, or Copy operation, or through the Amazon + * Web Services Management Console, and are encrypted by SSE-C or SSE-KMS, have + * ETags that are not an MD5 digest of their object data.</p> </li> <li> <p>If an + * object is created by either the Multipart Upload or Part Copy operation, the + * ETag is not an MD5 digest, regardless of the method of encryption. If an object + * is larger than 16 MB, the Amazon Web Services Management Console will upload or + * copy that object as a Multipart Upload, and therefore the ETag will not be an + * MD5 digest.</p> </li> </ul> */ inline void SetETag(const Aws::String& value) { m_eTagHasBeenSet = true; m_eTag = value; } @@ -174,14 +185,17 @@ namespace Model * contents of an object, not its metadata. The ETag may or may not be an MD5 * digest of the object data. Whether or not it is depends on how the object was * created and how it is encrypted as described below:</p> <ul> <li> <p>Objects - * created by the PUT Object, POST Object, or Copy operation, or through the AWS - * Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that - * are an MD5 digest of their object data.</p> </li> <li> <p>Objects created by the - * PUT Object, POST Object, or Copy operation, or through the AWS Management - * Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are not an MD5 - * digest of their object data.</p> </li> <li> <p>If an object is created by either - * the Multipart Upload or Part Copy operation, the ETag is not an MD5 digest, - * regardless of the method of encryption.</p> </li> </ul> + * created by the PUT Object, POST Object, or Copy operation, or through the Amazon + * Web Services Management Console, and are encrypted by SSE-S3 or plaintext, have + * ETags that are an MD5 digest of their object data.</p> </li> <li> <p>Objects + * created by the PUT Object, POST Object, or Copy operation, or through the Amazon + * Web Services Management Console, and are encrypted by SSE-C or SSE-KMS, have + * ETags that are not an MD5 digest of their object data.</p> </li> <li> <p>If an + * object is created by either the Multipart Upload or Part Copy operation, the + * ETag is not an MD5 digest, regardless of the method of encryption. If an object + * is larger than 16 MB, the Amazon Web Services Management Console will upload or + * copy that object as a Multipart Upload, and therefore the ETag will not be an + * MD5 digest.</p> </li> </ul> */ inline void SetETag(Aws::String&& value) { m_eTagHasBeenSet = true; m_eTag = std::move(value); } @@ -190,14 +204,17 @@ namespace Model * contents of an object, not its metadata. The ETag may or may not be an MD5 * digest of the object data. Whether or not it is depends on how the object was * created and how it is encrypted as described below:</p> <ul> <li> <p>Objects - * created by the PUT Object, POST Object, or Copy operation, or through the AWS - * Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that - * are an MD5 digest of their object data.</p> </li> <li> <p>Objects created by the - * PUT Object, POST Object, or Copy operation, or through the AWS Management - * Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are not an MD5 - * digest of their object data.</p> </li> <li> <p>If an object is created by either - * the Multipart Upload or Part Copy operation, the ETag is not an MD5 digest, - * regardless of the method of encryption.</p> </li> </ul> + * created by the PUT Object, POST Object, or Copy operation, or through the Amazon + * Web Services Management Console, and are encrypted by SSE-S3 or plaintext, have + * ETags that are an MD5 digest of their object data.</p> </li> <li> <p>Objects + * created by the PUT Object, POST Object, or Copy operation, or through the Amazon + * Web Services Management Console, and are encrypted by SSE-C or SSE-KMS, have + * ETags that are not an MD5 digest of their object data.</p> </li> <li> <p>If an + * object is created by either the Multipart Upload or Part Copy operation, the + * ETag is not an MD5 digest, regardless of the method of encryption. If an object + * is larger than 16 MB, the Amazon Web Services Management Console will upload or + * copy that object as a Multipart Upload, and therefore the ETag will not be an + * MD5 digest.</p> </li> </ul> */ inline void SetETag(const char* value) { m_eTagHasBeenSet = true; m_eTag.assign(value); } @@ -206,14 +223,17 @@ namespace Model * contents of an object, not its metadata. The ETag may or may not be an MD5 * digest of the object data. Whether or not it is depends on how the object was * created and how it is encrypted as described below:</p> <ul> <li> <p>Objects - * created by the PUT Object, POST Object, or Copy operation, or through the AWS - * Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that - * are an MD5 digest of their object data.</p> </li> <li> <p>Objects created by the - * PUT Object, POST Object, or Copy operation, or through the AWS Management - * Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are not an MD5 - * digest of their object data.</p> </li> <li> <p>If an object is created by either - * the Multipart Upload or Part Copy operation, the ETag is not an MD5 digest, - * regardless of the method of encryption.</p> </li> </ul> + * created by the PUT Object, POST Object, or Copy operation, or through the Amazon + * Web Services Management Console, and are encrypted by SSE-S3 or plaintext, have + * ETags that are an MD5 digest of their object data.</p> </li> <li> <p>Objects + * created by the PUT Object, POST Object, or Copy operation, or through the Amazon + * Web Services Management Console, and are encrypted by SSE-C or SSE-KMS, have + * ETags that are not an MD5 digest of their object data.</p> </li> <li> <p>If an + * object is created by either the Multipart Upload or Part Copy operation, the + * ETag is not an MD5 digest, regardless of the method of encryption. If an object + * is larger than 16 MB, the Amazon Web Services Management Console will upload or + * copy that object as a Multipart Upload, and therefore the ETag will not be an + * MD5 digest.</p> </li> </ul> */ inline Object& WithETag(const Aws::String& value) { SetETag(value); return *this;} @@ -222,14 +242,17 @@ namespace Model * contents of an object, not its metadata. The ETag may or may not be an MD5 * digest of the object data. Whether or not it is depends on how the object was * created and how it is encrypted as described below:</p> <ul> <li> <p>Objects - * created by the PUT Object, POST Object, or Copy operation, or through the AWS - * Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that - * are an MD5 digest of their object data.</p> </li> <li> <p>Objects created by the - * PUT Object, POST Object, or Copy operation, or through the AWS Management - * Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are not an MD5 - * digest of their object data.</p> </li> <li> <p>If an object is created by either - * the Multipart Upload or Part Copy operation, the ETag is not an MD5 digest, - * regardless of the method of encryption.</p> </li> </ul> + * created by the PUT Object, POST Object, or Copy operation, or through the Amazon + * Web Services Management Console, and are encrypted by SSE-S3 or plaintext, have + * ETags that are an MD5 digest of their object data.</p> </li> <li> <p>Objects + * created by the PUT Object, POST Object, or Copy operation, or through the Amazon + * Web Services Management Console, and are encrypted by SSE-C or SSE-KMS, have + * ETags that are not an MD5 digest of their object data.</p> </li> <li> <p>If an + * object is created by either the Multipart Upload or Part Copy operation, the + * ETag is not an MD5 digest, regardless of the method of encryption. If an object + * is larger than 16 MB, the Amazon Web Services Management Console will upload or + * copy that object as a Multipart Upload, and therefore the ETag will not be an + * MD5 digest.</p> </li> </ul> */ inline Object& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} @@ -238,19 +261,63 @@ namespace Model * contents of an object, not its metadata. The ETag may or may not be an MD5 * digest of the object data. Whether or not it is depends on how the object was * created and how it is encrypted as described below:</p> <ul> <li> <p>Objects - * created by the PUT Object, POST Object, or Copy operation, or through the AWS - * Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that - * are an MD5 digest of their object data.</p> </li> <li> <p>Objects created by the - * PUT Object, POST Object, or Copy operation, or through the AWS Management - * Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are not an MD5 - * digest of their object data.</p> </li> <li> <p>If an object is created by either - * the Multipart Upload or Part Copy operation, the ETag is not an MD5 digest, - * regardless of the method of encryption.</p> </li> </ul> + * created by the PUT Object, POST Object, or Copy operation, or through the Amazon + * Web Services Management Console, and are encrypted by SSE-S3 or plaintext, have + * ETags that are an MD5 digest of their object data.</p> </li> <li> <p>Objects + * created by the PUT Object, POST Object, or Copy operation, or through the Amazon + * Web Services Management Console, and are encrypted by SSE-C or SSE-KMS, have + * ETags that are not an MD5 digest of their object data.</p> </li> <li> <p>If an + * object is created by either the Multipart Upload or Part Copy operation, the + * ETag is not an MD5 digest, regardless of the method of encryption. If an object + * is larger than 16 MB, the Amazon Web Services Management Console will upload or + * copy that object as a Multipart Upload, and therefore the ETag will not be an + * MD5 digest.</p> </li> </ul> */ inline Object& WithETag(const char* value) { SetETag(value); return *this;} /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline const Aws::Vector<ChecksumAlgorithm>& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline void SetChecksumAlgorithm(const Aws::Vector<ChecksumAlgorithm>& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline void SetChecksumAlgorithm(Aws::Vector<ChecksumAlgorithm>&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline Object& WithChecksumAlgorithm(const Aws::Vector<ChecksumAlgorithm>& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline Object& WithChecksumAlgorithm(Aws::Vector<ChecksumAlgorithm>&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline Object& AddChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm.push_back(value); return *this; } + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline Object& AddChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm.push_back(std::move(value)); return *this; } + + + /** * <p>Size in bytes of the object</p> */ inline long long GetSize() const{ return m_size; } @@ -335,22 +402,25 @@ namespace Model private: Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; Aws::Utils::DateTime m_lastModified; - bool m_lastModifiedHasBeenSet; + bool m_lastModifiedHasBeenSet = false; Aws::String m_eTag; - bool m_eTagHasBeenSet; + bool m_eTagHasBeenSet = false; + + Aws::Vector<ChecksumAlgorithm> m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; long long m_size; - bool m_sizeHasBeenSet; + bool m_sizeHasBeenSet = false; ObjectStorageClass m_storageClass; - bool m_storageClassHasBeenSet; + bool m_storageClassHasBeenSet = false; Owner m_owner; - bool m_ownerHasBeenSet; + bool m_ownerHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectAttributes.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectAttributes.h new file mode 100644 index 0000000000..1fd094cba8 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectAttributes.h @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class ObjectAttributes + { + NOT_SET, + ETag, + Checksum, + ObjectParts, + StorageClass, + ObjectSize + }; + +namespace ObjectAttributesMapper +{ +AWS_S3_API ObjectAttributes GetObjectAttributesForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForObjectAttributes(ObjectAttributes value); +} // namespace ObjectAttributesMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectIdentifier.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectIdentifier.h index 82e3c611da..26ab8081a9 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectIdentifier.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectIdentifier.h @@ -28,14 +28,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectIdentifier">AWS * API Reference</a></p> */ - class AWS_S3_API ObjectIdentifier + class ObjectIdentifier { public: - ObjectIdentifier(); - ObjectIdentifier(const Aws::Utils::Xml::XmlNode& xmlNode); - ObjectIdentifier& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ObjectIdentifier(); + AWS_S3_API ObjectIdentifier(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ObjectIdentifier& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -154,10 +154,10 @@ namespace Model private: Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; Aws::String m_versionId; - bool m_versionIdHasBeenSet; + bool m_versionIdHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockConfiguration.h index 441e475856..a17f87a820 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockConfiguration.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockConfiguration.h @@ -29,14 +29,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectLockConfiguration">AWS * API Reference</a></p> */ - class AWS_S3_API ObjectLockConfiguration + class ObjectLockConfiguration { public: - ObjectLockConfiguration(); - ObjectLockConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); - ObjectLockConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ObjectLockConfiguration(); + AWS_S3_API ObjectLockConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ObjectLockConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -139,10 +139,10 @@ namespace Model private: ObjectLockEnabled m_objectLockEnabled; - bool m_objectLockEnabledHasBeenSet; + bool m_objectLockEnabledHasBeenSet = false; ObjectLockRule m_rule; - bool m_ruleHasBeenSet; + bool m_ruleHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockLegalHold.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockLegalHold.h index fdeba38dda..5d2bb9039c 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockLegalHold.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockLegalHold.h @@ -23,54 +23,54 @@ namespace Model { /** - * <p>A Legal Hold configuration for an object.</p><p><h3>See Also:</h3> <a + * <p>A legal hold configuration for an object.</p><p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectLockLegalHold">AWS * API Reference</a></p> */ - class AWS_S3_API ObjectLockLegalHold + class ObjectLockLegalHold { public: - ObjectLockLegalHold(); - ObjectLockLegalHold(const Aws::Utils::Xml::XmlNode& xmlNode); - ObjectLockLegalHold& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ObjectLockLegalHold(); + AWS_S3_API ObjectLockLegalHold(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ObjectLockLegalHold& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** - * <p>Indicates whether the specified object has a Legal Hold in place.</p> + * <p>Indicates whether the specified object has a legal hold in place.</p> */ inline const ObjectLockLegalHoldStatus& GetStatus() const{ return m_status; } /** - * <p>Indicates whether the specified object has a Legal Hold in place.</p> + * <p>Indicates whether the specified object has a legal hold in place.</p> */ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** - * <p>Indicates whether the specified object has a Legal Hold in place.</p> + * <p>Indicates whether the specified object has a legal hold in place.</p> */ inline void SetStatus(const ObjectLockLegalHoldStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** - * <p>Indicates whether the specified object has a Legal Hold in place.</p> + * <p>Indicates whether the specified object has a legal hold in place.</p> */ inline void SetStatus(ObjectLockLegalHoldStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** - * <p>Indicates whether the specified object has a Legal Hold in place.</p> + * <p>Indicates whether the specified object has a legal hold in place.</p> */ inline ObjectLockLegalHold& WithStatus(const ObjectLockLegalHoldStatus& value) { SetStatus(value); return *this;} /** - * <p>Indicates whether the specified object has a Legal Hold in place.</p> + * <p>Indicates whether the specified object has a legal hold in place.</p> */ inline ObjectLockLegalHold& WithStatus(ObjectLockLegalHoldStatus&& value) { SetStatus(std::move(value)); return *this;} private: ObjectLockLegalHoldStatus m_status; - bool m_statusHasBeenSet; + bool m_statusHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockRetention.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockRetention.h index 26c60fdb78..caa01d58de 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockRetention.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockRetention.h @@ -28,14 +28,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectLockRetention">AWS * API Reference</a></p> */ - class AWS_S3_API ObjectLockRetention + class ObjectLockRetention { public: - ObjectLockRetention(); - ObjectLockRetention(const Aws::Utils::Xml::XmlNode& xmlNode); - ObjectLockRetention& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ObjectLockRetention(); + AWS_S3_API ObjectLockRetention(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ObjectLockRetention& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -102,10 +102,10 @@ namespace Model private: ObjectLockRetentionMode m_mode; - bool m_modeHasBeenSet; + bool m_modeHasBeenSet = false; Aws::Utils::DateTime m_retainUntilDate; - bool m_retainUntilDateHasBeenSet; + bool m_retainUntilDateHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockRule.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockRule.h index e373cc3dba..0eda426212 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockRule.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockRule.h @@ -27,14 +27,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectLockRule">AWS * API Reference</a></p> */ - class AWS_S3_API ObjectLockRule + class ObjectLockRule { public: - ObjectLockRule(); - ObjectLockRule(const Aws::Utils::Xml::XmlNode& xmlNode); - ObjectLockRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ObjectLockRule(); + AWS_S3_API ObjectLockRule(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ObjectLockRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -94,7 +94,7 @@ namespace Model private: DefaultRetention m_defaultRetention; - bool m_defaultRetentionHasBeenSet; + bool m_defaultRetentionHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectOwnership.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectOwnership.h index 06ba5f9daa..08957d956e 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectOwnership.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectOwnership.h @@ -17,7 +17,8 @@ namespace Model { NOT_SET, BucketOwnerPreferred, - ObjectWriter + ObjectWriter, + BucketOwnerEnforced }; namespace ObjectOwnershipMapper diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectPart.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectPart.h new file mode 100644 index 0000000000..cb913c6b43 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectPart.h @@ -0,0 +1,433 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>A container for elements related to an individual part.</p><p><h3>See + * Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectPart">AWS API + * Reference</a></p> + */ + class ObjectPart + { + public: + AWS_S3_API ObjectPart(); + AWS_S3_API ObjectPart(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ObjectPart& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The part number identifying the part. This value is a positive integer + * between 1 and 10,000.</p> + */ + inline int GetPartNumber() const{ return m_partNumber; } + + /** + * <p>The part number identifying the part. This value is a positive integer + * between 1 and 10,000.</p> + */ + inline bool PartNumberHasBeenSet() const { return m_partNumberHasBeenSet; } + + /** + * <p>The part number identifying the part. This value is a positive integer + * between 1 and 10,000.</p> + */ + inline void SetPartNumber(int value) { m_partNumberHasBeenSet = true; m_partNumber = value; } + + /** + * <p>The part number identifying the part. This value is a positive integer + * between 1 and 10,000.</p> + */ + inline ObjectPart& WithPartNumber(int value) { SetPartNumber(value); return *this;} + + + /** + * <p>The size of the uploaded part in bytes.</p> + */ + inline long long GetSize() const{ return m_size; } + + /** + * <p>The size of the uploaded part in bytes.</p> + */ + inline bool SizeHasBeenSet() const { return m_sizeHasBeenSet; } + + /** + * <p>The size of the uploaded part in bytes.</p> + */ + inline void SetSize(long long value) { m_sizeHasBeenSet = true; m_size = value; } + + /** + * <p>The size of the uploaded part in bytes.</p> + */ + inline ObjectPart& WithSize(long long value) { SetSize(value); return *this;} + + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32() const{ return m_checksumCRC32; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumCRC32HasBeenSet() const { return m_checksumCRC32HasBeenSet; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const Aws::String& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = value; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(Aws::String&& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = std::move(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const char* value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32.assign(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline ObjectPart& WithChecksumCRC32(const Aws::String& value) { SetChecksumCRC32(value); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline ObjectPart& WithChecksumCRC32(Aws::String&& value) { SetChecksumCRC32(std::move(value)); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline ObjectPart& WithChecksumCRC32(const char* value) { SetChecksumCRC32(value); return *this;} + + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32C() const{ return m_checksumCRC32C; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumCRC32CHasBeenSet() const { return m_checksumCRC32CHasBeenSet; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const Aws::String& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = value; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(Aws::String&& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = std::move(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const char* value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C.assign(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline ObjectPart& WithChecksumCRC32C(const Aws::String& value) { SetChecksumCRC32C(value); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline ObjectPart& WithChecksumCRC32C(Aws::String&& value) { SetChecksumCRC32C(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline ObjectPart& WithChecksumCRC32C(const char* value) { SetChecksumCRC32C(value); return *this;} + + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA1() const{ return m_checksumSHA1; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumSHA1HasBeenSet() const { return m_checksumSHA1HasBeenSet; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const Aws::String& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = value; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(Aws::String&& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = std::move(value); } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const char* value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1.assign(value); } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline ObjectPart& WithChecksumSHA1(const Aws::String& value) { SetChecksumSHA1(value); return *this;} + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline ObjectPart& WithChecksumSHA1(Aws::String&& value) { SetChecksumSHA1(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline ObjectPart& WithChecksumSHA1(const char* value) { SetChecksumSHA1(value); return *this;} + + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA256() const{ return m_checksumSHA256; } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumSHA256HasBeenSet() const { return m_checksumSHA256HasBeenSet; } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const Aws::String& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = value; } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(Aws::String&& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = std::move(value); } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const char* value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256.assign(value); } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline ObjectPart& WithChecksumSHA256(const Aws::String& value) { SetChecksumSHA256(value); return *this;} + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline ObjectPart& WithChecksumSHA256(Aws::String&& value) { SetChecksumSHA256(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline ObjectPart& WithChecksumSHA256(const char* value) { SetChecksumSHA256(value); return *this;} + + private: + + int m_partNumber; + bool m_partNumberHasBeenSet = false; + + long long m_size; + bool m_sizeHasBeenSet = false; + + Aws::String m_checksumCRC32; + bool m_checksumCRC32HasBeenSet = false; + + Aws::String m_checksumCRC32C; + bool m_checksumCRC32CHasBeenSet = false; + + Aws::String m_checksumSHA1; + bool m_checksumSHA1HasBeenSet = false; + + Aws::String m_checksumSHA256; + bool m_checksumSHA256HasBeenSet = false; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectStorageClass.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectStorageClass.h index 814e5de398..6f2d4dacc7 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectStorageClass.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectStorageClass.h @@ -23,7 +23,8 @@ namespace Model ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE, - OUTPOSTS + OUTPOSTS, + GLACIER_IR }; namespace ObjectStorageClassMapper diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectVersion.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectVersion.h index d084d24b1e..47ddbe008d 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectVersion.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectVersion.h @@ -6,9 +6,11 @@ #pragma once #include <aws/s3/S3_EXPORTS.h> #include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSVector.h> #include <aws/s3/model/ObjectVersionStorageClass.h> #include <aws/core/utils/DateTime.h> #include <aws/s3/model/Owner.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <utility> namespace Aws @@ -30,14 +32,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectVersion">AWS * API Reference</a></p> */ - class AWS_S3_API ObjectVersion + class ObjectVersion { public: - ObjectVersion(); - ObjectVersion(const Aws::Utils::Xml::XmlNode& xmlNode); - ObjectVersion& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ObjectVersion(); + AWS_S3_API ObjectVersion(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ObjectVersion& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -82,6 +84,47 @@ namespace Model /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline const Aws::Vector<ChecksumAlgorithm>& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline void SetChecksumAlgorithm(const Aws::Vector<ChecksumAlgorithm>& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline void SetChecksumAlgorithm(Aws::Vector<ChecksumAlgorithm>&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline ObjectVersion& WithChecksumAlgorithm(const Aws::Vector<ChecksumAlgorithm>& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline ObjectVersion& WithChecksumAlgorithm(Aws::Vector<ChecksumAlgorithm>&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline ObjectVersion& AddChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm.push_back(value); return *this; } + + /** + * <p>The algorithm that was used to create a checksum of the object.</p> + */ + inline ObjectVersion& AddChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm.push_back(std::move(value)); return *this; } + + + /** * <p>Size in bytes of the object.</p> */ inline long long GetSize() const{ return m_size; } @@ -304,28 +347,31 @@ namespace Model private: Aws::String m_eTag; - bool m_eTagHasBeenSet; + bool m_eTagHasBeenSet = false; + + Aws::Vector<ChecksumAlgorithm> m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; long long m_size; - bool m_sizeHasBeenSet; + bool m_sizeHasBeenSet = false; ObjectVersionStorageClass m_storageClass; - bool m_storageClassHasBeenSet; + bool m_storageClassHasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; Aws::String m_versionId; - bool m_versionIdHasBeenSet; + bool m_versionIdHasBeenSet = false; bool m_isLatest; - bool m_isLatestHasBeenSet; + bool m_isLatestHasBeenSet = false; Aws::Utils::DateTime m_lastModified; - bool m_lastModifiedHasBeenSet; + bool m_lastModifiedHasBeenSet = false; Owner m_owner; - bool m_ownerHasBeenSet; + bool m_ownerHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OutputLocation.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OutputLocation.h index 4240773137..a716b1b0d0 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OutputLocation.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OutputLocation.h @@ -28,14 +28,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/OutputLocation">AWS * API Reference</a></p> */ - class AWS_S3_API OutputLocation + class OutputLocation { public: - OutputLocation(); - OutputLocation(const Aws::Utils::Xml::XmlNode& xmlNode); - OutputLocation& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API OutputLocation(); + AWS_S3_API OutputLocation(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API OutputLocation& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -77,7 +77,7 @@ namespace Model private: S3Location m_s3; - bool m_s3HasBeenSet; + bool m_s3HasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OutputSerialization.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OutputSerialization.h index 92331d902c..e5af3e64fc 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OutputSerialization.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OutputSerialization.h @@ -29,14 +29,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/OutputSerialization">AWS * API Reference</a></p> */ - class AWS_S3_API OutputSerialization + class OutputSerialization { public: - OutputSerialization(); - OutputSerialization(const Aws::Utils::Xml::XmlNode& xmlNode); - OutputSerialization& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API OutputSerialization(); + AWS_S3_API OutputSerialization(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API OutputSerialization& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -103,10 +103,10 @@ namespace Model private: CSVOutput m_cSV; - bool m_cSVHasBeenSet; + bool m_cSVHasBeenSet = false; JSONOutput m_jSON; - bool m_jSONHasBeenSet; + bool m_jSONHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Owner.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Owner.h index 4f3f5d6aaa..8dd45ff6d1 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Owner.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Owner.h @@ -27,14 +27,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Owner">AWS API * Reference</a></p> */ - class AWS_S3_API Owner + class Owner { public: - Owner(); - Owner(const Aws::Utils::Xml::XmlNode& xmlNode); - Owner& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Owner(); + AWS_S3_API Owner(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Owner& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -121,10 +121,10 @@ namespace Model private: Aws::String m_displayName; - bool m_displayNameHasBeenSet; + bool m_displayNameHasBeenSet = false; Aws::String m_iD; - bool m_iDHasBeenSet; + bool m_iDHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OwnershipControls.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OwnershipControls.h index a0d1a3542f..0585d8db91 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OwnershipControls.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OwnershipControls.h @@ -29,14 +29,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/OwnershipControls">AWS * API Reference</a></p> */ - class AWS_S3_API OwnershipControls + class OwnershipControls { public: - OwnershipControls(); - OwnershipControls(const Aws::Utils::Xml::XmlNode& xmlNode); - OwnershipControls& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API OwnershipControls(); + AWS_S3_API OwnershipControls(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API OwnershipControls& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -82,7 +82,7 @@ namespace Model private: Aws::Vector<OwnershipControlsRule> m_rules; - bool m_rulesHasBeenSet; + bool m_rulesHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OwnershipControlsRule.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OwnershipControlsRule.h index 2e512c810c..bd11bbe5f1 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OwnershipControlsRule.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OwnershipControlsRule.h @@ -28,14 +28,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/OwnershipControlsRule">AWS * API Reference</a></p> */ - class AWS_S3_API OwnershipControlsRule + class OwnershipControlsRule { public: - OwnershipControlsRule(); - OwnershipControlsRule(const Aws::Utils::Xml::XmlNode& xmlNode); - OwnershipControlsRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API OwnershipControlsRule(); + AWS_S3_API OwnershipControlsRule(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API OwnershipControlsRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; @@ -59,7 +59,7 @@ namespace Model private: ObjectOwnership m_objectOwnership; - bool m_objectOwnershipHasBeenSet; + bool m_objectOwnershipHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ParquetInput.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ParquetInput.h index 3bc15a8481..8cc0df422b 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ParquetInput.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ParquetInput.h @@ -25,14 +25,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ParquetInput">AWS API * Reference</a></p> */ - class AWS_S3_API ParquetInput + class ParquetInput { public: - ParquetInput(); - ParquetInput(const Aws::Utils::Xml::XmlNode& xmlNode); - ParquetInput& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ParquetInput(); + AWS_S3_API ParquetInput(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ParquetInput& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; }; diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Part.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Part.h index 6b83d534f1..b3a96fc351 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Part.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Part.h @@ -28,14 +28,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Part">AWS API * Reference</a></p> */ - class AWS_S3_API Part + class Part { public: - Part(); - Part(const Aws::Utils::Xml::XmlNode& xmlNode); - Part& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Part(); + AWS_S3_API Part(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Part& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -155,19 +155,355 @@ namespace Model */ inline Part& WithSize(long long value) { SetSize(value); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32() const{ return m_checksumCRC32; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumCRC32HasBeenSet() const { return m_checksumCRC32HasBeenSet; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const Aws::String& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = value; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(Aws::String&& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = std::move(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const char* value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32.assign(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline Part& WithChecksumCRC32(const Aws::String& value) { SetChecksumCRC32(value); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline Part& WithChecksumCRC32(Aws::String&& value) { SetChecksumCRC32(std::move(value)); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline Part& WithChecksumCRC32(const char* value) { SetChecksumCRC32(value); return *this;} + + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32C() const{ return m_checksumCRC32C; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumCRC32CHasBeenSet() const { return m_checksumCRC32CHasBeenSet; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const Aws::String& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = value; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(Aws::String&& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = std::move(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const char* value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C.assign(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline Part& WithChecksumCRC32C(const Aws::String& value) { SetChecksumCRC32C(value); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline Part& WithChecksumCRC32C(Aws::String&& value) { SetChecksumCRC32C(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline Part& WithChecksumCRC32C(const char* value) { SetChecksumCRC32C(value); return *this;} + + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA1() const{ return m_checksumSHA1; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumSHA1HasBeenSet() const { return m_checksumSHA1HasBeenSet; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const Aws::String& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = value; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(Aws::String&& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = std::move(value); } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const char* value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1.assign(value); } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline Part& WithChecksumSHA1(const Aws::String& value) { SetChecksumSHA1(value); return *this;} + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline Part& WithChecksumSHA1(Aws::String&& value) { SetChecksumSHA1(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline Part& WithChecksumSHA1(const char* value) { SetChecksumSHA1(value); return *this;} + + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA256() const{ return m_checksumSHA256; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumSHA256HasBeenSet() const { return m_checksumSHA256HasBeenSet; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const Aws::String& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = value; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(Aws::String&& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = std::move(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const char* value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256.assign(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline Part& WithChecksumSHA256(const Aws::String& value) { SetChecksumSHA256(value); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline Part& WithChecksumSHA256(Aws::String&& value) { SetChecksumSHA256(std::move(value)); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline Part& WithChecksumSHA256(const char* value) { SetChecksumSHA256(value); return *this;} + private: int m_partNumber; - bool m_partNumberHasBeenSet; + bool m_partNumberHasBeenSet = false; Aws::Utils::DateTime m_lastModified; - bool m_lastModifiedHasBeenSet; + bool m_lastModifiedHasBeenSet = false; Aws::String m_eTag; - bool m_eTagHasBeenSet; + bool m_eTagHasBeenSet = false; long long m_size; - bool m_sizeHasBeenSet; + bool m_sizeHasBeenSet = false; + + Aws::String m_checksumCRC32; + bool m_checksumCRC32HasBeenSet = false; + + Aws::String m_checksumCRC32C; + bool m_checksumCRC32CHasBeenSet = false; + + Aws::String m_checksumSHA1; + bool m_checksumSHA1HasBeenSet = false; + + Aws::String m_checksumSHA256; + bool m_checksumSHA256HasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PolicyStatus.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PolicyStatus.h index cd0cfd393b..bf90bc0db7 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PolicyStatus.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PolicyStatus.h @@ -25,14 +25,14 @@ namespace Model * <a href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PolicyStatus">AWS * API Reference</a></p> */ - class AWS_S3_API PolicyStatus + class PolicyStatus { public: - PolicyStatus(); - PolicyStatus(const Aws::Utils::Xml::XmlNode& xmlNode); - PolicyStatus& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API PolicyStatus(); + AWS_S3_API PolicyStatus(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API PolicyStatus& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -66,7 +66,7 @@ namespace Model private: bool m_isPublic; - bool m_isPublicHasBeenSet; + bool m_isPublicHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Progress.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Progress.h index a188e5b9c7..8279bf50bd 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Progress.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Progress.h @@ -26,14 +26,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Progress">AWS API * Reference</a></p> */ - class AWS_S3_API Progress + class Progress { public: - Progress(); - Progress(const Aws::Utils::Xml::XmlNode& xmlNode); - Progress& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Progress(); + AWS_S3_API Progress(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Progress& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -101,13 +101,13 @@ namespace Model private: long long m_bytesScanned; - bool m_bytesScannedHasBeenSet; + bool m_bytesScannedHasBeenSet = false; long long m_bytesProcessed; - bool m_bytesProcessedHasBeenSet; + bool m_bytesProcessedHasBeenSet = false; long long m_bytesReturned; - bool m_bytesReturnedHasBeenSet; + bool m_bytesReturnedHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ProgressEvent.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ProgressEvent.h index 9b3b8edf85..c7a317a260 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ProgressEvent.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ProgressEvent.h @@ -28,14 +28,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ProgressEvent">AWS * API Reference</a></p> */ - class AWS_S3_API ProgressEvent + class ProgressEvent { public: - ProgressEvent(); - ProgressEvent(const Aws::Utils::Xml::XmlNode& xmlNode); - ProgressEvent& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ProgressEvent(); + AWS_S3_API ProgressEvent(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ProgressEvent& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -71,7 +71,7 @@ namespace Model private: Progress m_details; - bool m_detailsHasBeenSet; + bool m_detailsHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PublicAccessBlockConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PublicAccessBlockConfiguration.h index b78baafaf4..b22aba130d 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PublicAccessBlockConfiguration.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PublicAccessBlockConfiguration.h @@ -30,21 +30,21 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PublicAccessBlockConfiguration">AWS * API Reference</a></p> */ - class AWS_S3_API PublicAccessBlockConfiguration + class PublicAccessBlockConfiguration { public: - PublicAccessBlockConfiguration(); - PublicAccessBlockConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); - PublicAccessBlockConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API PublicAccessBlockConfiguration(); + AWS_S3_API PublicAccessBlockConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API PublicAccessBlockConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** * <p>Specifies whether Amazon S3 should block public access control lists (ACLs) * for this bucket and objects in this bucket. Setting this element to - * <code>TRUE</code> causes the following behavior:</p> <ul> <li> <p>PUT Bucket acl - * and PUT Object acl calls fail if the specified ACL is public.</p> </li> <li> + * <code>TRUE</code> causes the following behavior:</p> <ul> <li> <p>PUT Bucket ACL + * and PUT Object ACL calls fail if the specified ACL is public.</p> </li> <li> * <p>PUT Object calls fail if the request includes a public ACL.</p> </li> <li> * <p>PUT Bucket calls fail if the request includes a public ACL.</p> </li> </ul> * <p>Enabling this setting doesn't affect existing policies or ACLs.</p> @@ -54,8 +54,8 @@ namespace Model /** * <p>Specifies whether Amazon S3 should block public access control lists (ACLs) * for this bucket and objects in this bucket. Setting this element to - * <code>TRUE</code> causes the following behavior:</p> <ul> <li> <p>PUT Bucket acl - * and PUT Object acl calls fail if the specified ACL is public.</p> </li> <li> + * <code>TRUE</code> causes the following behavior:</p> <ul> <li> <p>PUT Bucket ACL + * and PUT Object ACL calls fail if the specified ACL is public.</p> </li> <li> * <p>PUT Object calls fail if the request includes a public ACL.</p> </li> <li> * <p>PUT Bucket calls fail if the request includes a public ACL.</p> </li> </ul> * <p>Enabling this setting doesn't affect existing policies or ACLs.</p> @@ -65,8 +65,8 @@ namespace Model /** * <p>Specifies whether Amazon S3 should block public access control lists (ACLs) * for this bucket and objects in this bucket. Setting this element to - * <code>TRUE</code> causes the following behavior:</p> <ul> <li> <p>PUT Bucket acl - * and PUT Object acl calls fail if the specified ACL is public.</p> </li> <li> + * <code>TRUE</code> causes the following behavior:</p> <ul> <li> <p>PUT Bucket ACL + * and PUT Object ACL calls fail if the specified ACL is public.</p> </li> <li> * <p>PUT Object calls fail if the request includes a public ACL.</p> </li> <li> * <p>PUT Bucket calls fail if the request includes a public ACL.</p> </li> </ul> * <p>Enabling this setting doesn't affect existing policies or ACLs.</p> @@ -76,8 +76,8 @@ namespace Model /** * <p>Specifies whether Amazon S3 should block public access control lists (ACLs) * for this bucket and objects in this bucket. Setting this element to - * <code>TRUE</code> causes the following behavior:</p> <ul> <li> <p>PUT Bucket acl - * and PUT Object acl calls fail if the specified ACL is public.</p> </li> <li> + * <code>TRUE</code> causes the following behavior:</p> <ul> <li> <p>PUT Bucket ACL + * and PUT Object ACL calls fail if the specified ACL is public.</p> </li> <li> * <p>PUT Object calls fail if the request includes a public ACL.</p> </li> <li> * <p>PUT Bucket calls fail if the request includes a public ACL.</p> </li> </ul> * <p>Enabling this setting doesn't affect existing policies or ACLs.</p> @@ -158,60 +158,60 @@ namespace Model /** * <p>Specifies whether Amazon S3 should restrict public bucket policies for this * bucket. Setting this element to <code>TRUE</code> restricts access to this - * bucket to only AWS service principals and authorized users within this account - * if the bucket has a public policy.</p> <p>Enabling this setting doesn't affect - * previously stored bucket policies, except that public and cross-account access - * within any public bucket policy, including non-public delegation to specific - * accounts, is blocked.</p> + * bucket to only Amazon Web Service principals and authorized users within this + * account if the bucket has a public policy.</p> <p>Enabling this setting doesn't + * affect previously stored bucket policies, except that public and cross-account + * access within any public bucket policy, including non-public delegation to + * specific accounts, is blocked.</p> */ inline bool GetRestrictPublicBuckets() const{ return m_restrictPublicBuckets; } /** * <p>Specifies whether Amazon S3 should restrict public bucket policies for this * bucket. Setting this element to <code>TRUE</code> restricts access to this - * bucket to only AWS service principals and authorized users within this account - * if the bucket has a public policy.</p> <p>Enabling this setting doesn't affect - * previously stored bucket policies, except that public and cross-account access - * within any public bucket policy, including non-public delegation to specific - * accounts, is blocked.</p> + * bucket to only Amazon Web Service principals and authorized users within this + * account if the bucket has a public policy.</p> <p>Enabling this setting doesn't + * affect previously stored bucket policies, except that public and cross-account + * access within any public bucket policy, including non-public delegation to + * specific accounts, is blocked.</p> */ inline bool RestrictPublicBucketsHasBeenSet() const { return m_restrictPublicBucketsHasBeenSet; } /** * <p>Specifies whether Amazon S3 should restrict public bucket policies for this * bucket. Setting this element to <code>TRUE</code> restricts access to this - * bucket to only AWS service principals and authorized users within this account - * if the bucket has a public policy.</p> <p>Enabling this setting doesn't affect - * previously stored bucket policies, except that public and cross-account access - * within any public bucket policy, including non-public delegation to specific - * accounts, is blocked.</p> + * bucket to only Amazon Web Service principals and authorized users within this + * account if the bucket has a public policy.</p> <p>Enabling this setting doesn't + * affect previously stored bucket policies, except that public and cross-account + * access within any public bucket policy, including non-public delegation to + * specific accounts, is blocked.</p> */ inline void SetRestrictPublicBuckets(bool value) { m_restrictPublicBucketsHasBeenSet = true; m_restrictPublicBuckets = value; } /** * <p>Specifies whether Amazon S3 should restrict public bucket policies for this * bucket. Setting this element to <code>TRUE</code> restricts access to this - * bucket to only AWS service principals and authorized users within this account - * if the bucket has a public policy.</p> <p>Enabling this setting doesn't affect - * previously stored bucket policies, except that public and cross-account access - * within any public bucket policy, including non-public delegation to specific - * accounts, is blocked.</p> + * bucket to only Amazon Web Service principals and authorized users within this + * account if the bucket has a public policy.</p> <p>Enabling this setting doesn't + * affect previously stored bucket policies, except that public and cross-account + * access within any public bucket policy, including non-public delegation to + * specific accounts, is blocked.</p> */ inline PublicAccessBlockConfiguration& WithRestrictPublicBuckets(bool value) { SetRestrictPublicBuckets(value); return *this;} private: bool m_blockPublicAcls; - bool m_blockPublicAclsHasBeenSet; + bool m_blockPublicAclsHasBeenSet = false; bool m_ignorePublicAcls; - bool m_ignorePublicAclsHasBeenSet; + bool m_ignorePublicAclsHasBeenSet = false; bool m_blockPublicPolicy; - bool m_blockPublicPolicyHasBeenSet; + bool m_blockPublicPolicyHasBeenSet = false; bool m_restrictPublicBuckets; - bool m_restrictPublicBucketsHasBeenSet; + bool m_restrictPublicBucketsHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketAccelerateConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketAccelerateConfigurationRequest.h index f2c3b36790..e880387fd6 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketAccelerateConfigurationRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketAccelerateConfigurationRequest.h @@ -8,6 +8,7 @@ #include <aws/s3/S3Request.h> #include <aws/core/utils/memory/stl/AWSString.h> #include <aws/s3/model/AccelerateConfiguration.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <aws/core/utils/memory/stl/AWSMap.h> #include <utility> @@ -24,10 +25,10 @@ namespace Model /** */ - class AWS_S3_API PutBucketAccelerateConfigurationRequest : public S3Request + class PutBucketAccelerateConfigurationRequest : public S3Request { public: - PutBucketAccelerateConfigurationRequest(); + AWS_S3_API PutBucketAccelerateConfigurationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,12 +36,18 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutBucketAccelerateConfiguration"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::String GetChecksumAlgorithmName() const override; + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket for which the accelerate configuration is set.</p> @@ -116,61 +123,146 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketAccelerateConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketAccelerateConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketAccelerateConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutBucketAccelerateConfigurationRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutBucketAccelerateConfigurationRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } @@ -213,16 +305,19 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; AccelerateConfiguration m_accelerateConfiguration; - bool m_accelerateConfigurationHasBeenSet; + bool m_accelerateConfigurationHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; + + ChecksumAlgorithm m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketAclRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketAclRequest.h index 86c5cc7d51..5d7dacb7b2 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketAclRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketAclRequest.h @@ -9,6 +9,7 @@ #include <aws/s3/model/BucketCannedACL.h> #include <aws/s3/model/AccessControlPolicy.h> #include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <aws/core/utils/memory/stl/AWSMap.h> #include <utility> @@ -25,10 +26,10 @@ namespace Model /** */ - class AWS_S3_API PutBucketAclRequest : public S3Request + class PutBucketAclRequest : public S3Request { public: - PutBucketAclRequest(); + AWS_S3_API PutBucketAclRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -36,14 +37,18 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutBucketAcl"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; - inline bool ShouldComputeContentMd5() const override { return true; } + AWS_S3_API Aws::String GetChecksumAlgorithmName() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The canned ACL to apply to the bucket.</p> @@ -159,8 +164,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, go to <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } @@ -169,8 +174,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, go to <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } @@ -179,8 +184,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, go to <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } @@ -189,8 +194,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, go to <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } @@ -199,8 +204,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, go to <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } @@ -209,8 +214,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, go to <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline PutBucketAclRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} @@ -219,8 +224,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, go to <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline PutBucketAclRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} @@ -229,13 +234,98 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, go to <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline PutBucketAclRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutBucketAclRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutBucketAclRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + + /** * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the * bucket.</p> */ @@ -367,42 +457,58 @@ namespace Model /** - * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and + * object owners of existing objects, also allows deletions and overwrites of those + * objects.</p> */ inline const Aws::String& GetGrantWrite() const{ return m_grantWrite; } /** - * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and + * object owners of existing objects, also allows deletions and overwrites of those + * objects.</p> */ inline bool GrantWriteHasBeenSet() const { return m_grantWriteHasBeenSet; } /** - * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and + * object owners of existing objects, also allows deletions and overwrites of those + * objects.</p> */ inline void SetGrantWrite(const Aws::String& value) { m_grantWriteHasBeenSet = true; m_grantWrite = value; } /** - * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and + * object owners of existing objects, also allows deletions and overwrites of those + * objects.</p> */ inline void SetGrantWrite(Aws::String&& value) { m_grantWriteHasBeenSet = true; m_grantWrite = std::move(value); } /** - * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and + * object owners of existing objects, also allows deletions and overwrites of those + * objects.</p> */ inline void SetGrantWrite(const char* value) { m_grantWriteHasBeenSet = true; m_grantWrite.assign(value); } /** - * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and + * object owners of existing objects, also allows deletions and overwrites of those + * objects.</p> */ inline PutBucketAclRequest& WithGrantWrite(const Aws::String& value) { SetGrantWrite(value); return *this;} /** - * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and + * object owners of existing objects, also allows deletions and overwrites of those + * objects.</p> */ inline PutBucketAclRequest& WithGrantWrite(Aws::String&& value) { SetGrantWrite(std::move(value)); return *this;} /** - * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and + * object owners of existing objects, also allows deletions and overwrites of those + * objects.</p> */ inline PutBucketAclRequest& WithGrantWrite(const char* value) { SetGrantWrite(value); return *this;} @@ -450,57 +556,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketAclRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketAclRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketAclRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -547,37 +653,40 @@ namespace Model private: BucketCannedACL m_aCL; - bool m_aCLHasBeenSet; + bool m_aCLHasBeenSet = false; AccessControlPolicy m_accessControlPolicy; - bool m_accessControlPolicyHasBeenSet; + bool m_accessControlPolicyHasBeenSet = false; Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_contentMD5; - bool m_contentMD5HasBeenSet; + bool m_contentMD5HasBeenSet = false; + + ChecksumAlgorithm m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; Aws::String m_grantFullControl; - bool m_grantFullControlHasBeenSet; + bool m_grantFullControlHasBeenSet = false; Aws::String m_grantRead; - bool m_grantReadHasBeenSet; + bool m_grantReadHasBeenSet = false; Aws::String m_grantReadACP; - bool m_grantReadACPHasBeenSet; + bool m_grantReadACPHasBeenSet = false; Aws::String m_grantWrite; - bool m_grantWriteHasBeenSet; + bool m_grantWriteHasBeenSet = false; Aws::String m_grantWriteACP; - bool m_grantWriteACPHasBeenSet; + bool m_grantWriteACPHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketAnalyticsConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketAnalyticsConfigurationRequest.h index 72baf8a3ad..4403269bfe 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketAnalyticsConfigurationRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketAnalyticsConfigurationRequest.h @@ -24,10 +24,10 @@ namespace Model /** */ - class AWS_S3_API PutBucketAnalyticsConfigurationRequest : public S3Request + class PutBucketAnalyticsConfigurationRequest : public S3Request { public: - PutBucketAnalyticsConfigurationRequest(); + AWS_S3_API PutBucketAnalyticsConfigurationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,12 +35,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutBucketAnalyticsConfiguration"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket to which an analytics configuration is stored.</p> @@ -157,57 +161,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketAnalyticsConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketAnalyticsConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketAnalyticsConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -254,19 +258,19 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_id; - bool m_idHasBeenSet; + bool m_idHasBeenSet = false; AnalyticsConfiguration m_analyticsConfiguration; - bool m_analyticsConfigurationHasBeenSet; + bool m_analyticsConfigurationHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketCorsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketCorsRequest.h index fd468b39c0..bf7b752844 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketCorsRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketCorsRequest.h @@ -8,6 +8,7 @@ #include <aws/s3/S3Request.h> #include <aws/core/utils/memory/stl/AWSString.h> #include <aws/s3/model/CORSConfiguration.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <aws/core/utils/memory/stl/AWSMap.h> #include <utility> @@ -24,10 +25,10 @@ namespace Model /** */ - class AWS_S3_API PutBucketCorsRequest : public S3Request + class PutBucketCorsRequest : public S3Request { public: - PutBucketCorsRequest(); + AWS_S3_API PutBucketCorsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,14 +36,18 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutBucketCors"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; - inline bool ShouldComputeContentMd5() const override { return true; } + AWS_S3_API Aws::String GetChecksumAlgorithmName() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>Specifies the bucket impacted by the <code>cors</code>configuration.</p> @@ -139,8 +144,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, go to <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } @@ -149,8 +154,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, go to <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } @@ -159,8 +164,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, go to <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } @@ -169,8 +174,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, go to <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } @@ -179,8 +184,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, go to <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } @@ -189,8 +194,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, go to <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline PutBucketCorsRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} @@ -199,8 +204,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, go to <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline PutBucketCorsRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} @@ -209,65 +214,150 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, go to <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline PutBucketCorsRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutBucketCorsRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutBucketCorsRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + + /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketCorsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketCorsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketCorsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -314,19 +404,22 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; CORSConfiguration m_cORSConfiguration; - bool m_cORSConfigurationHasBeenSet; + bool m_cORSConfigurationHasBeenSet = false; Aws::String m_contentMD5; - bool m_contentMD5HasBeenSet; + bool m_contentMD5HasBeenSet = false; + + ChecksumAlgorithm m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketEncryptionRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketEncryptionRequest.h index 312c50e251..b56a8bde6f 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketEncryptionRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketEncryptionRequest.h @@ -7,6 +7,7 @@ #include <aws/s3/S3_EXPORTS.h> #include <aws/s3/S3Request.h> #include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <aws/s3/model/ServerSideEncryptionConfiguration.h> #include <aws/core/utils/memory/stl/AWSMap.h> #include <utility> @@ -24,10 +25,10 @@ namespace Model /** */ - class AWS_S3_API PutBucketEncryptionRequest : public S3Request + class PutBucketEncryptionRequest : public S3Request { public: - PutBucketEncryptionRequest(); + AWS_S3_API PutBucketEncryptionRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,20 +36,23 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutBucketEncryption"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; - inline bool ShouldComputeContentMd5() const override { return true; } + AWS_S3_API Aws::String GetChecksumAlgorithmName() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>Specifies default encryption for a bucket using server-side encryption with - * Amazon S3-managed keys (SSE-S3) or customer master keys stored in AWS KMS - * (SSE-KMS). For information about the Amazon S3 default encryption feature, see - * <a + * Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS). For + * information about the Amazon S3 default encryption feature, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon * S3 Default Bucket Encryption</a> in the <i>Amazon S3 User Guide</i>.</p> */ @@ -56,9 +60,8 @@ namespace Model /** * <p>Specifies default encryption for a bucket using server-side encryption with - * Amazon S3-managed keys (SSE-S3) or customer master keys stored in AWS KMS - * (SSE-KMS). For information about the Amazon S3 default encryption feature, see - * <a + * Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS). For + * information about the Amazon S3 default encryption feature, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon * S3 Default Bucket Encryption</a> in the <i>Amazon S3 User Guide</i>.</p> */ @@ -66,9 +69,8 @@ namespace Model /** * <p>Specifies default encryption for a bucket using server-side encryption with - * Amazon S3-managed keys (SSE-S3) or customer master keys stored in AWS KMS - * (SSE-KMS). For information about the Amazon S3 default encryption feature, see - * <a + * Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS). For + * information about the Amazon S3 default encryption feature, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon * S3 Default Bucket Encryption</a> in the <i>Amazon S3 User Guide</i>.</p> */ @@ -76,9 +78,8 @@ namespace Model /** * <p>Specifies default encryption for a bucket using server-side encryption with - * Amazon S3-managed keys (SSE-S3) or customer master keys stored in AWS KMS - * (SSE-KMS). For information about the Amazon S3 default encryption feature, see - * <a + * Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS). For + * information about the Amazon S3 default encryption feature, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon * S3 Default Bucket Encryption</a> in the <i>Amazon S3 User Guide</i>.</p> */ @@ -86,9 +87,8 @@ namespace Model /** * <p>Specifies default encryption for a bucket using server-side encryption with - * Amazon S3-managed keys (SSE-S3) or customer master keys stored in AWS KMS - * (SSE-KMS). For information about the Amazon S3 default encryption feature, see - * <a + * Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS). For + * information about the Amazon S3 default encryption feature, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon * S3 Default Bucket Encryption</a> in the <i>Amazon S3 User Guide</i>.</p> */ @@ -96,9 +96,8 @@ namespace Model /** * <p>Specifies default encryption for a bucket using server-side encryption with - * Amazon S3-managed keys (SSE-S3) or customer master keys stored in AWS KMS - * (SSE-KMS). For information about the Amazon S3 default encryption feature, see - * <a + * Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS). For + * information about the Amazon S3 default encryption feature, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon * S3 Default Bucket Encryption</a> in the <i>Amazon S3 User Guide</i>.</p> */ @@ -106,9 +105,8 @@ namespace Model /** * <p>Specifies default encryption for a bucket using server-side encryption with - * Amazon S3-managed keys (SSE-S3) or customer master keys stored in AWS KMS - * (SSE-KMS). For information about the Amazon S3 default encryption feature, see - * <a + * Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS). For + * information about the Amazon S3 default encryption feature, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon * S3 Default Bucket Encryption</a> in the <i>Amazon S3 User Guide</i>.</p> */ @@ -116,9 +114,8 @@ namespace Model /** * <p>Specifies default encryption for a bucket using server-side encryption with - * Amazon S3-managed keys (SSE-S3) or customer master keys stored in AWS KMS - * (SSE-KMS). For information about the Amazon S3 default encryption feature, see - * <a + * Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS). For + * information about the Amazon S3 default encryption feature, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon * S3 Default Bucket Encryption</a> in the <i>Amazon S3 User Guide</i>.</p> */ @@ -127,61 +124,154 @@ namespace Model /** * <p>The base64-encoded 128-bit MD5 digest of the server-side encryption - * configuration.</p> <p>For requests made using the AWS Command Line Interface - * (CLI) or AWS SDKs, this field is calculated automatically.</p> + * configuration.</p> <p>For requests made using the Amazon Web Services Command + * Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated + * automatically.</p> */ inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } /** * <p>The base64-encoded 128-bit MD5 digest of the server-side encryption - * configuration.</p> <p>For requests made using the AWS Command Line Interface - * (CLI) or AWS SDKs, this field is calculated automatically.</p> + * configuration.</p> <p>For requests made using the Amazon Web Services Command + * Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated + * automatically.</p> */ inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } /** * <p>The base64-encoded 128-bit MD5 digest of the server-side encryption - * configuration.</p> <p>For requests made using the AWS Command Line Interface - * (CLI) or AWS SDKs, this field is calculated automatically.</p> + * configuration.</p> <p>For requests made using the Amazon Web Services Command + * Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated + * automatically.</p> */ inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } /** * <p>The base64-encoded 128-bit MD5 digest of the server-side encryption - * configuration.</p> <p>For requests made using the AWS Command Line Interface - * (CLI) or AWS SDKs, this field is calculated automatically.</p> + * configuration.</p> <p>For requests made using the Amazon Web Services Command + * Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated + * automatically.</p> */ inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } /** * <p>The base64-encoded 128-bit MD5 digest of the server-side encryption - * configuration.</p> <p>For requests made using the AWS Command Line Interface - * (CLI) or AWS SDKs, this field is calculated automatically.</p> + * configuration.</p> <p>For requests made using the Amazon Web Services Command + * Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated + * automatically.</p> */ inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } /** * <p>The base64-encoded 128-bit MD5 digest of the server-side encryption - * configuration.</p> <p>For requests made using the AWS Command Line Interface - * (CLI) or AWS SDKs, this field is calculated automatically.</p> + * configuration.</p> <p>For requests made using the Amazon Web Services Command + * Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated + * automatically.</p> */ inline PutBucketEncryptionRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} /** * <p>The base64-encoded 128-bit MD5 digest of the server-side encryption - * configuration.</p> <p>For requests made using the AWS Command Line Interface - * (CLI) or AWS SDKs, this field is calculated automatically.</p> + * configuration.</p> <p>For requests made using the Amazon Web Services Command + * Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated + * automatically.</p> */ inline PutBucketEncryptionRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} /** * <p>The base64-encoded 128-bit MD5 digest of the server-side encryption - * configuration.</p> <p>For requests made using the AWS Command Line Interface - * (CLI) or AWS SDKs, this field is calculated automatically.</p> + * configuration.</p> <p>For requests made using the Amazon Web Services Command + * Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated + * automatically.</p> */ inline PutBucketEncryptionRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutBucketEncryptionRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutBucketEncryptionRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + inline const ServerSideEncryptionConfiguration& GetServerSideEncryptionConfiguration() const{ return m_serverSideEncryptionConfiguration; } @@ -203,57 +293,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketEncryptionRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketEncryptionRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketEncryptionRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -300,19 +390,22 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_contentMD5; - bool m_contentMD5HasBeenSet; + bool m_contentMD5HasBeenSet = false; + + ChecksumAlgorithm m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; ServerSideEncryptionConfiguration m_serverSideEncryptionConfiguration; - bool m_serverSideEncryptionConfigurationHasBeenSet; + bool m_serverSideEncryptionConfigurationHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketIntelligentTieringConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketIntelligentTieringConfigurationRequest.h index 9055e5c1d8..91e9d79382 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketIntelligentTieringConfigurationRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketIntelligentTieringConfigurationRequest.h @@ -24,10 +24,10 @@ namespace Model /** */ - class AWS_S3_API PutBucketIntelligentTieringConfigurationRequest : public S3Request + class PutBucketIntelligentTieringConfigurationRequest : public S3Request { public: - PutBucketIntelligentTieringConfigurationRequest(); + AWS_S3_API PutBucketIntelligentTieringConfigurationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,10 +35,14 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutBucketIntelligentTieringConfiguration"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the Amazon S3 bucket whose configuration you want to modify or @@ -203,16 +207,16 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_id; - bool m_idHasBeenSet; + bool m_idHasBeenSet = false; IntelligentTieringConfiguration m_intelligentTieringConfiguration; - bool m_intelligentTieringConfigurationHasBeenSet; + bool m_intelligentTieringConfigurationHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketInventoryConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketInventoryConfigurationRequest.h index 88997a4a66..e4b342626d 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketInventoryConfigurationRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketInventoryConfigurationRequest.h @@ -24,10 +24,10 @@ namespace Model /** */ - class AWS_S3_API PutBucketInventoryConfigurationRequest : public S3Request + class PutBucketInventoryConfigurationRequest : public S3Request { public: - PutBucketInventoryConfigurationRequest(); + AWS_S3_API PutBucketInventoryConfigurationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,12 +35,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutBucketInventoryConfiguration"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket where the inventory configuration will be stored.</p> @@ -157,57 +161,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketInventoryConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketInventoryConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketInventoryConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -254,19 +258,19 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_id; - bool m_idHasBeenSet; + bool m_idHasBeenSet = false; InventoryConfiguration m_inventoryConfiguration; - bool m_inventoryConfigurationHasBeenSet; + bool m_inventoryConfigurationHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketLifecycleConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketLifecycleConfigurationRequest.h index 177b0434b4..2f08cb2e04 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketLifecycleConfigurationRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketLifecycleConfigurationRequest.h @@ -7,6 +7,7 @@ #include <aws/s3/S3_EXPORTS.h> #include <aws/s3/S3Request.h> #include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <aws/s3/model/BucketLifecycleConfiguration.h> #include <aws/core/utils/memory/stl/AWSMap.h> #include <utility> @@ -24,10 +25,10 @@ namespace Model /** */ - class AWS_S3_API PutBucketLifecycleConfigurationRequest : public S3Request + class PutBucketLifecycleConfigurationRequest : public S3Request { public: - PutBucketLifecycleConfigurationRequest(); + AWS_S3_API PutBucketLifecycleConfigurationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,14 +36,18 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutBucketLifecycleConfiguration"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; - inline bool ShouldComputeContentMd5() const override { return true; } + AWS_S3_API Aws::String GetChecksumAlgorithmName() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket for which to set the configuration.</p> @@ -86,6 +91,91 @@ namespace Model /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutBucketLifecycleConfigurationRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutBucketLifecycleConfigurationRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + + /** * <p>Container for lifecycle rules. You can add as many as 1,000 rules.</p> */ inline const BucketLifecycleConfiguration& GetLifecycleConfiguration() const{ return m_lifecycleConfiguration; } @@ -118,57 +208,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketLifecycleConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketLifecycleConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketLifecycleConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -215,16 +305,19 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; + + ChecksumAlgorithm m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; BucketLifecycleConfiguration m_lifecycleConfiguration; - bool m_lifecycleConfigurationHasBeenSet; + bool m_lifecycleConfigurationHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketLoggingRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketLoggingRequest.h index befa6e8f1a..dd1f1c0ef1 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketLoggingRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketLoggingRequest.h @@ -8,6 +8,7 @@ #include <aws/s3/S3Request.h> #include <aws/core/utils/memory/stl/AWSString.h> #include <aws/s3/model/BucketLoggingStatus.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <aws/core/utils/memory/stl/AWSMap.h> #include <utility> @@ -24,10 +25,10 @@ namespace Model /** */ - class AWS_S3_API PutBucketLoggingRequest : public S3Request + class PutBucketLoggingRequest : public S3Request { public: - PutBucketLoggingRequest(); + AWS_S3_API PutBucketLoggingRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,14 +36,18 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutBucketLogging"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; - inline bool ShouldComputeContentMd5() const override { return true; } + AWS_S3_API Aws::String GetChecksumAlgorithmName() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket for which to set the logging parameters.</p> @@ -118,114 +123,199 @@ namespace Model /** * <p>The MD5 hash of the <code>PutBucketLogging</code> request body.</p> <p>For - * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field - * is calculated automatically.</p> + * requests made using the Amazon Web Services Command Line Interface (CLI) or + * Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } /** * <p>The MD5 hash of the <code>PutBucketLogging</code> request body.</p> <p>For - * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field - * is calculated automatically.</p> + * requests made using the Amazon Web Services Command Line Interface (CLI) or + * Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } /** * <p>The MD5 hash of the <code>PutBucketLogging</code> request body.</p> <p>For - * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field - * is calculated automatically.</p> + * requests made using the Amazon Web Services Command Line Interface (CLI) or + * Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } /** * <p>The MD5 hash of the <code>PutBucketLogging</code> request body.</p> <p>For - * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field - * is calculated automatically.</p> + * requests made using the Amazon Web Services Command Line Interface (CLI) or + * Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } /** * <p>The MD5 hash of the <code>PutBucketLogging</code> request body.</p> <p>For - * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field - * is calculated automatically.</p> + * requests made using the Amazon Web Services Command Line Interface (CLI) or + * Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } /** * <p>The MD5 hash of the <code>PutBucketLogging</code> request body.</p> <p>For - * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field - * is calculated automatically.</p> + * requests made using the Amazon Web Services Command Line Interface (CLI) or + * Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline PutBucketLoggingRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} /** * <p>The MD5 hash of the <code>PutBucketLogging</code> request body.</p> <p>For - * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field - * is calculated automatically.</p> + * requests made using the Amazon Web Services Command Line Interface (CLI) or + * Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline PutBucketLoggingRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} /** * <p>The MD5 hash of the <code>PutBucketLogging</code> request body.</p> <p>For - * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field - * is calculated automatically.</p> + * requests made using the Amazon Web Services Command Line Interface (CLI) or + * Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline PutBucketLoggingRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutBucketLoggingRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutBucketLoggingRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + + /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketLoggingRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketLoggingRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketLoggingRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -272,19 +362,22 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; BucketLoggingStatus m_bucketLoggingStatus; - bool m_bucketLoggingStatusHasBeenSet; + bool m_bucketLoggingStatusHasBeenSet = false; Aws::String m_contentMD5; - bool m_contentMD5HasBeenSet; + bool m_contentMD5HasBeenSet = false; + + ChecksumAlgorithm m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketMetricsConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketMetricsConfigurationRequest.h index 94791d58d5..5b6f3ebf6d 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketMetricsConfigurationRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketMetricsConfigurationRequest.h @@ -24,10 +24,10 @@ namespace Model /** */ - class AWS_S3_API PutBucketMetricsConfigurationRequest : public S3Request + class PutBucketMetricsConfigurationRequest : public S3Request { public: - PutBucketMetricsConfigurationRequest(); + AWS_S3_API PutBucketMetricsConfigurationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,12 +35,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutBucketMetricsConfiguration"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket for which the metrics configuration is set.</p> @@ -157,57 +161,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketMetricsConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketMetricsConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketMetricsConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -254,19 +258,19 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_id; - bool m_idHasBeenSet; + bool m_idHasBeenSet = false; MetricsConfiguration m_metricsConfiguration; - bool m_metricsConfigurationHasBeenSet; + bool m_metricsConfigurationHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketNotificationConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketNotificationConfigurationRequest.h index 016bba49c9..4ce686f86b 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketNotificationConfigurationRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketNotificationConfigurationRequest.h @@ -24,10 +24,10 @@ namespace Model /** */ - class AWS_S3_API PutBucketNotificationConfigurationRequest : public S3Request + class PutBucketNotificationConfigurationRequest : public S3Request { public: - PutBucketNotificationConfigurationRequest(); + AWS_S3_API PutBucketNotificationConfigurationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,12 +35,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutBucketNotificationConfiguration"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket.</p> @@ -104,61 +108,86 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketNotificationConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketNotificationConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketNotificationConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + /** + * <p>Skips validation of Amazon SQS, Amazon SNS, and Lambda destinations. True or + * false value.</p> + */ + inline bool GetSkipDestinationValidation() const{ return m_skipDestinationValidation; } + + /** + * <p>Skips validation of Amazon SQS, Amazon SNS, and Lambda destinations. True or + * false value.</p> + */ + inline bool SkipDestinationValidationHasBeenSet() const { return m_skipDestinationValidationHasBeenSet; } + + /** + * <p>Skips validation of Amazon SQS, Amazon SNS, and Lambda destinations. True or + * false value.</p> + */ + inline void SetSkipDestinationValidation(bool value) { m_skipDestinationValidationHasBeenSet = true; m_skipDestinationValidation = value; } + + /** + * <p>Skips validation of Amazon SQS, Amazon SNS, and Lambda destinations. True or + * false value.</p> + */ + inline PutBucketNotificationConfigurationRequest& WithSkipDestinationValidation(bool value) { SetSkipDestinationValidation(value); return *this;} + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } @@ -201,16 +230,19 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; NotificationConfiguration m_notificationConfiguration; - bool m_notificationConfigurationHasBeenSet; + bool m_notificationConfigurationHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; + + bool m_skipDestinationValidation; + bool m_skipDestinationValidationHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketOwnershipControlsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketOwnershipControlsRequest.h index 76f46d672a..bdcf6c4754 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketOwnershipControlsRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketOwnershipControlsRequest.h @@ -24,10 +24,10 @@ namespace Model /** */ - class AWS_S3_API PutBucketOwnershipControlsRequest : public S3Request + class PutBucketOwnershipControlsRequest : public S3Request { public: - PutBucketOwnershipControlsRequest(); + AWS_S3_API PutBucketOwnershipControlsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,14 +35,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutBucketOwnershipControls"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; - - inline bool ShouldComputeContentMd5() const override { return true; } + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the Amazon S3 bucket whose <code>OwnershipControls</code> you @@ -95,151 +97,157 @@ namespace Model /** * <p>The MD5 hash of the <code>OwnershipControls</code> request body. </p> <p>For - * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field - * is calculated automatically.</p> + * requests made using the Amazon Web Services Command Line Interface (CLI) or + * Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } /** * <p>The MD5 hash of the <code>OwnershipControls</code> request body. </p> <p>For - * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field - * is calculated automatically.</p> + * requests made using the Amazon Web Services Command Line Interface (CLI) or + * Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } /** * <p>The MD5 hash of the <code>OwnershipControls</code> request body. </p> <p>For - * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field - * is calculated automatically.</p> + * requests made using the Amazon Web Services Command Line Interface (CLI) or + * Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } /** * <p>The MD5 hash of the <code>OwnershipControls</code> request body. </p> <p>For - * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field - * is calculated automatically.</p> + * requests made using the Amazon Web Services Command Line Interface (CLI) or + * Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } /** * <p>The MD5 hash of the <code>OwnershipControls</code> request body. </p> <p>For - * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field - * is calculated automatically.</p> + * requests made using the Amazon Web Services Command Line Interface (CLI) or + * Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } /** * <p>The MD5 hash of the <code>OwnershipControls</code> request body. </p> <p>For - * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field - * is calculated automatically.</p> + * requests made using the Amazon Web Services Command Line Interface (CLI) or + * Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline PutBucketOwnershipControlsRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} /** * <p>The MD5 hash of the <code>OwnershipControls</code> request body. </p> <p>For - * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field - * is calculated automatically.</p> + * requests made using the Amazon Web Services Command Line Interface (CLI) or + * Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline PutBucketOwnershipControlsRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} /** * <p>The MD5 hash of the <code>OwnershipControls</code> request body. </p> <p>For - * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field - * is calculated automatically.</p> + * requests made using the Amazon Web Services Command Line Interface (CLI) or + * Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline PutBucketOwnershipControlsRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketOwnershipControlsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketOwnershipControlsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketOwnershipControlsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} /** - * <p>The <code>OwnershipControls</code> (BucketOwnerPreferred or ObjectWriter) - * that you want to apply to this Amazon S3 bucket.</p> + * <p>The <code>OwnershipControls</code> (BucketOwnerEnforced, + * BucketOwnerPreferred, or ObjectWriter) that you want to apply to this Amazon S3 + * bucket.</p> */ inline const OwnershipControls& GetOwnershipControls() const{ return m_ownershipControls; } /** - * <p>The <code>OwnershipControls</code> (BucketOwnerPreferred or ObjectWriter) - * that you want to apply to this Amazon S3 bucket.</p> + * <p>The <code>OwnershipControls</code> (BucketOwnerEnforced, + * BucketOwnerPreferred, or ObjectWriter) that you want to apply to this Amazon S3 + * bucket.</p> */ inline bool OwnershipControlsHasBeenSet() const { return m_ownershipControlsHasBeenSet; } /** - * <p>The <code>OwnershipControls</code> (BucketOwnerPreferred or ObjectWriter) - * that you want to apply to this Amazon S3 bucket.</p> + * <p>The <code>OwnershipControls</code> (BucketOwnerEnforced, + * BucketOwnerPreferred, or ObjectWriter) that you want to apply to this Amazon S3 + * bucket.</p> */ inline void SetOwnershipControls(const OwnershipControls& value) { m_ownershipControlsHasBeenSet = true; m_ownershipControls = value; } /** - * <p>The <code>OwnershipControls</code> (BucketOwnerPreferred or ObjectWriter) - * that you want to apply to this Amazon S3 bucket.</p> + * <p>The <code>OwnershipControls</code> (BucketOwnerEnforced, + * BucketOwnerPreferred, or ObjectWriter) that you want to apply to this Amazon S3 + * bucket.</p> */ inline void SetOwnershipControls(OwnershipControls&& value) { m_ownershipControlsHasBeenSet = true; m_ownershipControls = std::move(value); } /** - * <p>The <code>OwnershipControls</code> (BucketOwnerPreferred or ObjectWriter) - * that you want to apply to this Amazon S3 bucket.</p> + * <p>The <code>OwnershipControls</code> (BucketOwnerEnforced, + * BucketOwnerPreferred, or ObjectWriter) that you want to apply to this Amazon S3 + * bucket.</p> */ inline PutBucketOwnershipControlsRequest& WithOwnershipControls(const OwnershipControls& value) { SetOwnershipControls(value); return *this;} /** - * <p>The <code>OwnershipControls</code> (BucketOwnerPreferred or ObjectWriter) - * that you want to apply to this Amazon S3 bucket.</p> + * <p>The <code>OwnershipControls</code> (BucketOwnerEnforced, + * BucketOwnerPreferred, or ObjectWriter) that you want to apply to this Amazon S3 + * bucket.</p> */ inline PutBucketOwnershipControlsRequest& WithOwnershipControls(OwnershipControls&& value) { SetOwnershipControls(std::move(value)); return *this;} @@ -286,19 +294,19 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_contentMD5; - bool m_contentMD5HasBeenSet; + bool m_contentMD5HasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; OwnershipControls m_ownershipControls; - bool m_ownershipControlsHasBeenSet; + bool m_ownershipControlsHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketPolicyRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketPolicyRequest.h index 8cf3d4129a..553987a836 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketPolicyRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketPolicyRequest.h @@ -7,6 +7,7 @@ #include <aws/s3/S3_EXPORTS.h> #include <aws/s3/S3Request.h> #include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <aws/core/utils/memory/stl/AWSMap.h> #include <utility> @@ -23,10 +24,10 @@ namespace Model /** */ - class AWS_S3_API PutBucketPolicyRequest : public StreamingS3Request + class PutBucketPolicyRequest : public StreamingS3Request { public: - PutBucketPolicyRequest(); + AWS_S3_API PutBucketPolicyRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -34,12 +35,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutBucketPolicy"; } - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; - inline bool ShouldComputeContentMd5() const override { return true; } + AWS_S3_API Aws::String GetChecksumAlgorithmName() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket.</p> @@ -83,63 +88,148 @@ namespace Model /** - * <p>The MD5 hash of the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash of the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } /** - * <p>The MD5 hash of the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash of the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } /** - * <p>The MD5 hash of the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash of the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } /** - * <p>The MD5 hash of the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash of the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } /** - * <p>The MD5 hash of the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash of the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } /** - * <p>The MD5 hash of the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash of the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline PutBucketPolicyRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} /** - * <p>The MD5 hash of the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash of the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline PutBucketPolicyRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} /** - * <p>The MD5 hash of the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash of the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline PutBucketPolicyRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutBucketPolicyRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutBucketPolicyRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + + /** * <p>Set this parameter to true to confirm that you want to remove your * permissions to change this bucket policy in the future.</p> */ @@ -166,57 +256,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketPolicyRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketPolicyRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketPolicyRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -263,20 +353,23 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_contentMD5; - bool m_contentMD5HasBeenSet; + bool m_contentMD5HasBeenSet = false; + + ChecksumAlgorithm m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; bool m_confirmRemoveSelfBucketAccess; - bool m_confirmRemoveSelfBucketAccessHasBeenSet; + bool m_confirmRemoveSelfBucketAccessHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketReplicationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketReplicationRequest.h index 1c8d3e16d8..026e05efa1 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketReplicationRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketReplicationRequest.h @@ -7,6 +7,7 @@ #include <aws/s3/S3_EXPORTS.h> #include <aws/s3/S3Request.h> #include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <aws/s3/model/ReplicationConfiguration.h> #include <aws/core/utils/memory/stl/AWSMap.h> #include <utility> @@ -24,10 +25,10 @@ namespace Model /** */ - class AWS_S3_API PutBucketReplicationRequest : public S3Request + class PutBucketReplicationRequest : public S3Request { public: - PutBucketReplicationRequest(); + AWS_S3_API PutBucketReplicationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,14 +36,18 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutBucketReplication"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; - inline bool ShouldComputeContentMd5() const override { return true; } + AWS_S3_API Aws::String GetChecksumAlgorithmName() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket</p> @@ -90,8 +95,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } @@ -100,8 +105,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } @@ -110,8 +115,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } @@ -120,8 +125,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } @@ -130,8 +135,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } @@ -140,8 +145,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline PutBucketReplicationRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} @@ -150,8 +155,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline PutBucketReplicationRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} @@ -160,12 +165,97 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline PutBucketReplicationRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutBucketReplicationRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutBucketReplicationRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + inline const ReplicationConfiguration& GetReplicationConfiguration() const{ return m_replicationConfiguration; } @@ -228,57 +318,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketReplicationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketReplicationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketReplicationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -325,22 +415,25 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_contentMD5; - bool m_contentMD5HasBeenSet; + bool m_contentMD5HasBeenSet = false; + + ChecksumAlgorithm m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; ReplicationConfiguration m_replicationConfiguration; - bool m_replicationConfigurationHasBeenSet; + bool m_replicationConfigurationHasBeenSet = false; Aws::String m_token; - bool m_tokenHasBeenSet; + bool m_tokenHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketRequestPaymentRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketRequestPaymentRequest.h index cf61658395..27e831c728 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketRequestPaymentRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketRequestPaymentRequest.h @@ -7,6 +7,7 @@ #include <aws/s3/S3_EXPORTS.h> #include <aws/s3/S3Request.h> #include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <aws/s3/model/RequestPaymentConfiguration.h> #include <aws/core/utils/memory/stl/AWSMap.h> #include <utility> @@ -24,10 +25,10 @@ namespace Model /** */ - class AWS_S3_API PutBucketRequestPaymentRequest : public S3Request + class PutBucketRequestPaymentRequest : public S3Request { public: - PutBucketRequestPaymentRequest(); + AWS_S3_API PutBucketRequestPaymentRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,14 +36,18 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutBucketRequestPayment"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; - inline bool ShouldComputeContentMd5() const override { return true; } + AWS_S3_API Aws::String GetChecksumAlgorithmName() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name.</p> @@ -90,8 +95,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } @@ -100,8 +105,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } @@ -110,8 +115,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } @@ -120,8 +125,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } @@ -130,8 +135,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } @@ -140,8 +145,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline PutBucketRequestPaymentRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} @@ -150,8 +155,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline PutBucketRequestPaymentRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} @@ -160,13 +165,98 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline PutBucketRequestPaymentRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutBucketRequestPaymentRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutBucketRequestPaymentRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + + /** * <p>Container for Payer.</p> */ inline const RequestPaymentConfiguration& GetRequestPaymentConfiguration() const{ return m_requestPaymentConfiguration; } @@ -199,57 +289,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketRequestPaymentRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketRequestPaymentRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketRequestPaymentRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -296,19 +386,22 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_contentMD5; - bool m_contentMD5HasBeenSet; + bool m_contentMD5HasBeenSet = false; + + ChecksumAlgorithm m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; RequestPaymentConfiguration m_requestPaymentConfiguration; - bool m_requestPaymentConfigurationHasBeenSet; + bool m_requestPaymentConfigurationHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketTaggingRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketTaggingRequest.h index 9fab196905..05a97a14b0 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketTaggingRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketTaggingRequest.h @@ -7,6 +7,7 @@ #include <aws/s3/S3_EXPORTS.h> #include <aws/s3/S3Request.h> #include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <aws/s3/model/Tagging.h> #include <aws/core/utils/memory/stl/AWSMap.h> #include <utility> @@ -24,10 +25,10 @@ namespace Model /** */ - class AWS_S3_API PutBucketTaggingRequest : public S3Request + class PutBucketTaggingRequest : public S3Request { public: - PutBucketTaggingRequest(); + AWS_S3_API PutBucketTaggingRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,14 +36,18 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutBucketTagging"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; - inline bool ShouldComputeContentMd5() const override { return true; } + AWS_S3_API Aws::String GetChecksumAlgorithmName() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name.</p> @@ -90,8 +95,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } @@ -100,8 +105,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } @@ -110,8 +115,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } @@ -120,8 +125,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } @@ -130,8 +135,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } @@ -140,8 +145,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline PutBucketTaggingRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} @@ -150,8 +155,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline PutBucketTaggingRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} @@ -160,13 +165,98 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline PutBucketTaggingRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutBucketTaggingRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutBucketTaggingRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + + /** * <p>Container for the <code>TagSet</code> and <code>Tag</code> elements.</p> */ inline const Tagging& GetTagging() const{ return m_tagging; } @@ -199,57 +289,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketTaggingRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketTaggingRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketTaggingRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -296,19 +386,22 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_contentMD5; - bool m_contentMD5HasBeenSet; + bool m_contentMD5HasBeenSet = false; + + ChecksumAlgorithm m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; Tagging m_tagging; - bool m_taggingHasBeenSet; + bool m_taggingHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketVersioningRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketVersioningRequest.h index c9adb345bc..8b515fcf68 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketVersioningRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketVersioningRequest.h @@ -7,6 +7,7 @@ #include <aws/s3/S3_EXPORTS.h> #include <aws/s3/S3Request.h> #include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <aws/s3/model/VersioningConfiguration.h> #include <aws/core/utils/memory/stl/AWSMap.h> #include <utility> @@ -24,10 +25,10 @@ namespace Model /** */ - class AWS_S3_API PutBucketVersioningRequest : public S3Request + class PutBucketVersioningRequest : public S3Request { public: - PutBucketVersioningRequest(); + AWS_S3_API PutBucketVersioningRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,14 +36,18 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutBucketVersioning"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; - inline bool ShouldComputeContentMd5() const override { return true; } + AWS_S3_API Aws::String GetChecksumAlgorithmName() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name.</p> @@ -90,8 +95,8 @@ namespace Model * header as a message integrity check to verify that the request body was not * corrupted in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } @@ -100,8 +105,8 @@ namespace Model * header as a message integrity check to verify that the request body was not * corrupted in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } @@ -110,8 +115,8 @@ namespace Model * header as a message integrity check to verify that the request body was not * corrupted in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } @@ -120,8 +125,8 @@ namespace Model * header as a message integrity check to verify that the request body was not * corrupted in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } @@ -130,8 +135,8 @@ namespace Model * header as a message integrity check to verify that the request body was not * corrupted in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } @@ -140,8 +145,8 @@ namespace Model * header as a message integrity check to verify that the request body was not * corrupted in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline PutBucketVersioningRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} @@ -150,8 +155,8 @@ namespace Model * header as a message integrity check to verify that the request body was not * corrupted in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline PutBucketVersioningRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} @@ -160,13 +165,98 @@ namespace Model * header as a message integrity check to verify that the request body was not * corrupted in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline PutBucketVersioningRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutBucketVersioningRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutBucketVersioningRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + + /** * <p>The concatenation of the authentication device's serial number, a space, and * the value that is displayed on your authentication device.</p> */ @@ -248,57 +338,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketVersioningRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketVersioningRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketVersioningRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -345,22 +435,25 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_contentMD5; - bool m_contentMD5HasBeenSet; + bool m_contentMD5HasBeenSet = false; + + ChecksumAlgorithm m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; Aws::String m_mFA; - bool m_mFAHasBeenSet; + bool m_mFAHasBeenSet = false; VersioningConfiguration m_versioningConfiguration; - bool m_versioningConfigurationHasBeenSet; + bool m_versioningConfigurationHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketWebsiteRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketWebsiteRequest.h index f95f12c950..64064f7bce 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketWebsiteRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketWebsiteRequest.h @@ -7,6 +7,7 @@ #include <aws/s3/S3_EXPORTS.h> #include <aws/s3/S3Request.h> #include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <aws/s3/model/WebsiteConfiguration.h> #include <aws/core/utils/memory/stl/AWSMap.h> #include <utility> @@ -24,10 +25,10 @@ namespace Model /** */ - class AWS_S3_API PutBucketWebsiteRequest : public S3Request + class PutBucketWebsiteRequest : public S3Request { public: - PutBucketWebsiteRequest(); + AWS_S3_API PutBucketWebsiteRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,14 +36,18 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutBucketWebsite"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; - inline bool ShouldComputeContentMd5() const override { return true; } + AWS_S3_API Aws::String GetChecksumAlgorithmName() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name.</p> @@ -90,8 +95,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } @@ -100,8 +105,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } @@ -110,8 +115,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } @@ -120,8 +125,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } @@ -130,8 +135,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } @@ -140,8 +145,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline PutBucketWebsiteRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} @@ -150,8 +155,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline PutBucketWebsiteRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} @@ -160,13 +165,98 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, see <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests - * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is - * calculated automatically.</p> + * made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web + * Services SDKs, this field is calculated automatically.</p> */ inline PutBucketWebsiteRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutBucketWebsiteRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutBucketWebsiteRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + + /** * <p>Container for the request.</p> */ inline const WebsiteConfiguration& GetWebsiteConfiguration() const{ return m_websiteConfiguration; } @@ -199,57 +289,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketWebsiteRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketWebsiteRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutBucketWebsiteRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -296,19 +386,22 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_contentMD5; - bool m_contentMD5HasBeenSet; + bool m_contentMD5HasBeenSet = false; + + ChecksumAlgorithm m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; WebsiteConfiguration m_websiteConfiguration; - bool m_websiteConfigurationHasBeenSet; + bool m_websiteConfigurationHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectAclRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectAclRequest.h index 8ee776e41a..d289ca8aff 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectAclRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectAclRequest.h @@ -9,6 +9,7 @@ #include <aws/s3/model/ObjectCannedACL.h> #include <aws/s3/model/AccessControlPolicy.h> #include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <aws/s3/model/RequestPayer.h> #include <aws/core/utils/memory/stl/AWSMap.h> #include <utility> @@ -26,10 +27,10 @@ namespace Model /** */ - class AWS_S3_API PutObjectAclRequest : public S3Request + class PutObjectAclRequest : public S3Request { public: - PutObjectAclRequest(); + AWS_S3_API PutObjectAclRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -37,14 +38,18 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutObjectAcl"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; - inline bool ShouldComputeContentMd5() const override { return true; } + AWS_S3_API Aws::String GetChecksumAlgorithmName() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The canned ACL to apply to the object. For more information, see <a @@ -131,11 +136,11 @@ namespace Model * </p> <p>When using this action with an access point, you must direct requests to * the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } @@ -144,11 +149,11 @@ namespace Model * </p> <p>When using this action with an access point, you must direct requests to * the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } @@ -157,11 +162,11 @@ namespace Model * </p> <p>When using this action with an access point, you must direct requests to * the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } @@ -170,11 +175,11 @@ namespace Model * </p> <p>When using this action with an access point, you must direct requests to * the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } @@ -183,11 +188,11 @@ namespace Model * </p> <p>When using this action with an access point, you must direct requests to * the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } @@ -196,11 +201,11 @@ namespace Model * </p> <p>When using this action with an access point, you must direct requests to * the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline PutObjectAclRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} @@ -209,11 +214,11 @@ namespace Model * </p> <p>When using this action with an access point, you must direct requests to * the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline PutObjectAclRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} @@ -222,11 +227,11 @@ namespace Model * </p> <p>When using this action with an access point, you must direct requests to * the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline PutObjectAclRequest& WithBucket(const char* value) { SetBucket(value); return *this;} @@ -236,8 +241,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, go to <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.></a> </p> <p>For - * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field - * is calculated automatically.</p> + * requests made using the Amazon Web Services Command Line Interface (CLI) or + * Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } @@ -246,8 +251,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, go to <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.></a> </p> <p>For - * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field - * is calculated automatically.</p> + * requests made using the Amazon Web Services Command Line Interface (CLI) or + * Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } @@ -256,8 +261,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, go to <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.></a> </p> <p>For - * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field - * is calculated automatically.</p> + * requests made using the Amazon Web Services Command Line Interface (CLI) or + * Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } @@ -266,8 +271,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, go to <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.></a> </p> <p>For - * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field - * is calculated automatically.</p> + * requests made using the Amazon Web Services Command Line Interface (CLI) or + * Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } @@ -276,8 +281,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, go to <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.></a> </p> <p>For - * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field - * is calculated automatically.</p> + * requests made using the Amazon Web Services Command Line Interface (CLI) or + * Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } @@ -286,8 +291,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, go to <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.></a> </p> <p>For - * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field - * is calculated automatically.</p> + * requests made using the Amazon Web Services Command Line Interface (CLI) or + * Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline PutObjectAclRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} @@ -296,8 +301,8 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, go to <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.></a> </p> <p>For - * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field - * is calculated automatically.</p> + * requests made using the Amazon Web Services Command Line Interface (CLI) or + * Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline PutObjectAclRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} @@ -306,13 +311,98 @@ namespace Model * as a message integrity check to verify that the request body was not corrupted * in transit. For more information, go to <a * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.></a> </p> <p>For - * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field - * is calculated automatically.</p> + * requests made using the Amazon Web Services Command Line Interface (CLI) or + * Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline PutObjectAclRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutObjectAclRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutObjectAclRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + + /** * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the * bucket.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> */ @@ -460,42 +550,58 @@ namespace Model /** - * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and + * object owners of existing objects, also allows deletions and overwrites of those + * objects.</p> */ inline const Aws::String& GetGrantWrite() const{ return m_grantWrite; } /** - * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and + * object owners of existing objects, also allows deletions and overwrites of those + * objects.</p> */ inline bool GrantWriteHasBeenSet() const { return m_grantWriteHasBeenSet; } /** - * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and + * object owners of existing objects, also allows deletions and overwrites of those + * objects.</p> */ inline void SetGrantWrite(const Aws::String& value) { m_grantWriteHasBeenSet = true; m_grantWrite = value; } /** - * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and + * object owners of existing objects, also allows deletions and overwrites of those + * objects.</p> */ inline void SetGrantWrite(Aws::String&& value) { m_grantWriteHasBeenSet = true; m_grantWrite = std::move(value); } /** - * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and + * object owners of existing objects, also allows deletions and overwrites of those + * objects.</p> */ inline void SetGrantWrite(const char* value) { m_grantWriteHasBeenSet = true; m_grantWrite.assign(value); } /** - * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and + * object owners of existing objects, also allows deletions and overwrites of those + * objects.</p> */ inline PutObjectAclRequest& WithGrantWrite(const Aws::String& value) { SetGrantWrite(value); return *this;} /** - * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and + * object owners of existing objects, also allows deletions and overwrites of those + * objects.</p> */ inline PutObjectAclRequest& WithGrantWrite(Aws::String&& value) { SetGrantWrite(std::move(value)); return *this;} /** - * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + * <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and + * object owners of existing objects, also allows deletions and overwrites of those + * objects.</p> */ inline PutObjectAclRequest& WithGrantWrite(const char* value) { SetGrantWrite(value); return *this;} @@ -554,19 +660,19 @@ namespace Model * with an access point, you must direct requests to the access point hostname. The * access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetKey() const{ return m_key; } @@ -575,19 +681,19 @@ namespace Model * with an access point, you must direct requests to the access point hostname. The * access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } @@ -596,19 +702,19 @@ namespace Model * with an access point, you must direct requests to the access point hostname. The * access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } @@ -617,19 +723,19 @@ namespace Model * with an access point, you must direct requests to the access point hostname. The * access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } @@ -638,19 +744,19 @@ namespace Model * with an access point, you must direct requests to the access point hostname. The * access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } @@ -659,19 +765,19 @@ namespace Model * with an access point, you must direct requests to the access point hostname. The * access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline PutObjectAclRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} @@ -680,19 +786,19 @@ namespace Model * with an access point, you must direct requests to the access point hostname. The * access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline PutObjectAclRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} @@ -701,19 +807,19 @@ namespace Model * with an access point, you must direct requests to the access point hostname. The * access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline PutObjectAclRequest& WithKey(const char* value) { SetKey(value); return *this;} @@ -780,57 +886,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutObjectAclRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutObjectAclRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutObjectAclRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -877,46 +983,49 @@ namespace Model private: ObjectCannedACL m_aCL; - bool m_aCLHasBeenSet; + bool m_aCLHasBeenSet = false; AccessControlPolicy m_accessControlPolicy; - bool m_accessControlPolicyHasBeenSet; + bool m_accessControlPolicyHasBeenSet = false; Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_contentMD5; - bool m_contentMD5HasBeenSet; + bool m_contentMD5HasBeenSet = false; + + ChecksumAlgorithm m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; Aws::String m_grantFullControl; - bool m_grantFullControlHasBeenSet; + bool m_grantFullControlHasBeenSet = false; Aws::String m_grantRead; - bool m_grantReadHasBeenSet; + bool m_grantReadHasBeenSet = false; Aws::String m_grantReadACP; - bool m_grantReadACPHasBeenSet; + bool m_grantReadACPHasBeenSet = false; Aws::String m_grantWrite; - bool m_grantWriteHasBeenSet; + bool m_grantWriteHasBeenSet = false; Aws::String m_grantWriteACP; - bool m_grantWriteACPHasBeenSet; + bool m_grantWriteACPHasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; RequestPayer m_requestPayer; - bool m_requestPayerHasBeenSet; + bool m_requestPayerHasBeenSet = false; Aws::String m_versionId; - bool m_versionIdHasBeenSet; + bool m_versionIdHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectAclResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectAclResult.h index 0047bbca99..a2d4799c34 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectAclResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectAclResult.h @@ -24,12 +24,12 @@ namespace S3 { namespace Model { - class AWS_S3_API PutObjectAclResult + class PutObjectAclResult { public: - PutObjectAclResult(); - PutObjectAclResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - PutObjectAclResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API PutObjectAclResult(); + AWS_S3_API PutObjectAclResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API PutObjectAclResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLegalHoldRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLegalHoldRequest.h index ad7edb3d02..31814effa7 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLegalHoldRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLegalHoldRequest.h @@ -9,6 +9,7 @@ #include <aws/core/utils/memory/stl/AWSString.h> #include <aws/s3/model/ObjectLockLegalHold.h> #include <aws/s3/model/RequestPayer.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <aws/core/utils/memory/stl/AWSMap.h> #include <utility> @@ -25,10 +26,10 @@ namespace Model /** */ - class AWS_S3_API PutObjectLegalHoldRequest : public S3Request + class PutObjectLegalHoldRequest : public S3Request { public: - PutObjectLegalHoldRequest(); + AWS_S3_API PutObjectLegalHoldRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -36,193 +37,197 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutObjectLegalHold"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; - inline bool ShouldComputeContentMd5() const override { return true; } + AWS_S3_API Aws::String GetChecksumAlgorithmName() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** - * <p>The bucket name containing the object that you want to place a Legal Hold on. + * <p>The bucket name containing the object that you want to place a legal hold on. * </p> <p>When using this action with an access point, you must direct requests to * the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } /** - * <p>The bucket name containing the object that you want to place a Legal Hold on. + * <p>The bucket name containing the object that you want to place a legal hold on. * </p> <p>When using this action with an access point, you must direct requests to * the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } /** - * <p>The bucket name containing the object that you want to place a Legal Hold on. + * <p>The bucket name containing the object that you want to place a legal hold on. * </p> <p>When using this action with an access point, you must direct requests to * the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } /** - * <p>The bucket name containing the object that you want to place a Legal Hold on. + * <p>The bucket name containing the object that you want to place a legal hold on. * </p> <p>When using this action with an access point, you must direct requests to * the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } /** - * <p>The bucket name containing the object that you want to place a Legal Hold on. + * <p>The bucket name containing the object that you want to place a legal hold on. * </p> <p>When using this action with an access point, you must direct requests to * the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } /** - * <p>The bucket name containing the object that you want to place a Legal Hold on. + * <p>The bucket name containing the object that you want to place a legal hold on. * </p> <p>When using this action with an access point, you must direct requests to * the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline PutObjectLegalHoldRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} /** - * <p>The bucket name containing the object that you want to place a Legal Hold on. + * <p>The bucket name containing the object that you want to place a legal hold on. * </p> <p>When using this action with an access point, you must direct requests to * the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline PutObjectLegalHoldRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} /** - * <p>The bucket name containing the object that you want to place a Legal Hold on. + * <p>The bucket name containing the object that you want to place a legal hold on. * </p> <p>When using this action with an access point, you must direct requests to * the access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline PutObjectLegalHoldRequest& WithBucket(const char* value) { SetBucket(value); return *this;} /** - * <p>The key name for the object that you want to place a Legal Hold on.</p> + * <p>The key name for the object that you want to place a legal hold on.</p> */ inline const Aws::String& GetKey() const{ return m_key; } /** - * <p>The key name for the object that you want to place a Legal Hold on.</p> + * <p>The key name for the object that you want to place a legal hold on.</p> */ inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } /** - * <p>The key name for the object that you want to place a Legal Hold on.</p> + * <p>The key name for the object that you want to place a legal hold on.</p> */ inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } /** - * <p>The key name for the object that you want to place a Legal Hold on.</p> + * <p>The key name for the object that you want to place a legal hold on.</p> */ inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } /** - * <p>The key name for the object that you want to place a Legal Hold on.</p> + * <p>The key name for the object that you want to place a legal hold on.</p> */ inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } /** - * <p>The key name for the object that you want to place a Legal Hold on.</p> + * <p>The key name for the object that you want to place a legal hold on.</p> */ inline PutObjectLegalHoldRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} /** - * <p>The key name for the object that you want to place a Legal Hold on.</p> + * <p>The key name for the object that you want to place a legal hold on.</p> */ inline PutObjectLegalHoldRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} /** - * <p>The key name for the object that you want to place a Legal Hold on.</p> + * <p>The key name for the object that you want to place a legal hold on.</p> */ inline PutObjectLegalHoldRequest& WithKey(const char* value) { SetKey(value); return *this;} /** - * <p>Container element for the Legal Hold configuration you want to apply to the + * <p>Container element for the legal hold configuration you want to apply to the * specified object.</p> */ inline const ObjectLockLegalHold& GetLegalHold() const{ return m_legalHold; } /** - * <p>Container element for the Legal Hold configuration you want to apply to the + * <p>Container element for the legal hold configuration you want to apply to the * specified object.</p> */ inline bool LegalHoldHasBeenSet() const { return m_legalHoldHasBeenSet; } /** - * <p>Container element for the Legal Hold configuration you want to apply to the + * <p>Container element for the legal hold configuration you want to apply to the * specified object.</p> */ inline void SetLegalHold(const ObjectLockLegalHold& value) { m_legalHoldHasBeenSet = true; m_legalHold = value; } /** - * <p>Container element for the Legal Hold configuration you want to apply to the + * <p>Container element for the legal hold configuration you want to apply to the * specified object.</p> */ inline void SetLegalHold(ObjectLockLegalHold&& value) { m_legalHoldHasBeenSet = true; m_legalHold = std::move(value); } /** - * <p>Container element for the Legal Hold configuration you want to apply to the + * <p>Container element for the legal hold configuration you want to apply to the * specified object.</p> */ inline PutObjectLegalHoldRequest& WithLegalHold(const ObjectLockLegalHold& value) { SetLegalHold(value); return *this;} /** - * <p>Container element for the Legal Hold configuration you want to apply to the + * <p>Container element for the legal hold configuration you want to apply to the * specified object.</p> */ inline PutObjectLegalHoldRequest& WithLegalHold(ObjectLockLegalHold&& value) { SetLegalHold(std::move(value)); return *this;} @@ -248,156 +253,241 @@ namespace Model /** - * <p>The version ID of the object that you want to place a Legal Hold on.</p> + * <p>The version ID of the object that you want to place a legal hold on.</p> */ inline const Aws::String& GetVersionId() const{ return m_versionId; } /** - * <p>The version ID of the object that you want to place a Legal Hold on.</p> + * <p>The version ID of the object that you want to place a legal hold on.</p> */ inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } /** - * <p>The version ID of the object that you want to place a Legal Hold on.</p> + * <p>The version ID of the object that you want to place a legal hold on.</p> */ inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } /** - * <p>The version ID of the object that you want to place a Legal Hold on.</p> + * <p>The version ID of the object that you want to place a legal hold on.</p> */ inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } /** - * <p>The version ID of the object that you want to place a Legal Hold on.</p> + * <p>The version ID of the object that you want to place a legal hold on.</p> */ inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } /** - * <p>The version ID of the object that you want to place a Legal Hold on.</p> + * <p>The version ID of the object that you want to place a legal hold on.</p> */ inline PutObjectLegalHoldRequest& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} /** - * <p>The version ID of the object that you want to place a Legal Hold on.</p> + * <p>The version ID of the object that you want to place a legal hold on.</p> */ inline PutObjectLegalHoldRequest& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} /** - * <p>The version ID of the object that you want to place a Legal Hold on.</p> + * <p>The version ID of the object that you want to place a legal hold on.</p> */ inline PutObjectLegalHoldRequest& WithVersionId(const char* value) { SetVersionId(value); return *this;} /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline PutObjectLegalHoldRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline PutObjectLegalHoldRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline PutObjectLegalHoldRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutObjectLegalHoldRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutObjectLegalHoldRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + + /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutObjectLegalHoldRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutObjectLegalHoldRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutObjectLegalHoldRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -444,28 +534,31 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; ObjectLockLegalHold m_legalHold; - bool m_legalHoldHasBeenSet; + bool m_legalHoldHasBeenSet = false; RequestPayer m_requestPayer; - bool m_requestPayerHasBeenSet; + bool m_requestPayerHasBeenSet = false; Aws::String m_versionId; - bool m_versionIdHasBeenSet; + bool m_versionIdHasBeenSet = false; Aws::String m_contentMD5; - bool m_contentMD5HasBeenSet; + bool m_contentMD5HasBeenSet = false; + + ChecksumAlgorithm m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLegalHoldResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLegalHoldResult.h index f4322c70f9..85301e413a 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLegalHoldResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLegalHoldResult.h @@ -24,12 +24,12 @@ namespace S3 { namespace Model { - class AWS_S3_API PutObjectLegalHoldResult + class PutObjectLegalHoldResult { public: - PutObjectLegalHoldResult(); - PutObjectLegalHoldResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - PutObjectLegalHoldResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API PutObjectLegalHoldResult(); + AWS_S3_API PutObjectLegalHoldResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API PutObjectLegalHoldResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLockConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLockConfigurationRequest.h index 4ffc75c531..40a9a1287f 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLockConfigurationRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLockConfigurationRequest.h @@ -9,6 +9,7 @@ #include <aws/core/utils/memory/stl/AWSString.h> #include <aws/s3/model/ObjectLockConfiguration.h> #include <aws/s3/model/RequestPayer.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <aws/core/utils/memory/stl/AWSMap.h> #include <utility> @@ -25,10 +26,10 @@ namespace Model /** */ - class AWS_S3_API PutObjectLockConfigurationRequest : public S3Request + class PutObjectLockConfigurationRequest : public S3Request { public: - PutObjectLockConfigurationRequest(); + AWS_S3_API PutObjectLockConfigurationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -36,14 +37,18 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutObjectLockConfiguration"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; - inline bool ShouldComputeContentMd5() const override { return true; } + AWS_S3_API Aws::String GetChecksumAlgorithmName() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket whose Object Lock configuration you want to create or replace.</p> @@ -184,115 +189,200 @@ namespace Model /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline PutObjectLockConfigurationRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline PutObjectLockConfigurationRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline PutObjectLockConfigurationRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutObjectLockConfigurationRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutObjectLockConfigurationRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + + /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutObjectLockConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutObjectLockConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutObjectLockConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -339,25 +429,28 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; ObjectLockConfiguration m_objectLockConfiguration; - bool m_objectLockConfigurationHasBeenSet; + bool m_objectLockConfigurationHasBeenSet = false; RequestPayer m_requestPayer; - bool m_requestPayerHasBeenSet; + bool m_requestPayerHasBeenSet = false; Aws::String m_token; - bool m_tokenHasBeenSet; + bool m_tokenHasBeenSet = false; Aws::String m_contentMD5; - bool m_contentMD5HasBeenSet; + bool m_contentMD5HasBeenSet = false; + + ChecksumAlgorithm m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLockConfigurationResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLockConfigurationResult.h index c3b86b53d5..85017a3dd2 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLockConfigurationResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLockConfigurationResult.h @@ -24,12 +24,12 @@ namespace S3 { namespace Model { - class AWS_S3_API PutObjectLockConfigurationResult + class PutObjectLockConfigurationResult { public: - PutObjectLockConfigurationResult(); - PutObjectLockConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - PutObjectLockConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API PutObjectLockConfigurationResult(); + AWS_S3_API PutObjectLockConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API PutObjectLockConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRequest.h index b2c872004c..d38708d197 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRequest.h @@ -9,6 +9,7 @@ #include <aws/s3/model/ObjectCannedACL.h> #include <aws/core/utils/Array.h> #include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <aws/core/utils/DateTime.h> #include <aws/core/utils/memory/stl/AWSMap.h> #include <aws/s3/model/ServerSideEncryption.h> @@ -31,10 +32,10 @@ namespace Model /** */ - class AWS_S3_API PutObjectRequest : public StreamingS3Request + class PutObjectRequest : public StreamingS3Request { public: - PutObjectRequest(); + AWS_S3_API PutObjectRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -42,10 +43,16 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutObject"; } - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::String GetChecksumAlgorithmName() const override; + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The canned ACL to apply to the object. For more information, see <a @@ -95,19 +102,19 @@ namespace Model * this action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } @@ -116,19 +123,19 @@ namespace Model * this action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } @@ -137,19 +144,19 @@ namespace Model * this action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } @@ -158,19 +165,19 @@ namespace Model * this action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } @@ -179,19 +186,19 @@ namespace Model * this action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } @@ -200,19 +207,19 @@ namespace Model * this action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline PutObjectRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} @@ -221,19 +228,19 @@ namespace Model * this action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline PutObjectRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} @@ -242,19 +249,19 @@ namespace Model * this action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline PutObjectRequest& WithBucket(const char* value) { SetBucket(value); return *this;} @@ -598,6 +605,407 @@ namespace Model /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutObjectRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutObjectRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32() const{ return m_checksumCRC32; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumCRC32HasBeenSet() const { return m_checksumCRC32HasBeenSet; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const Aws::String& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = value; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(Aws::String&& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = std::move(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const char* value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32.assign(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline PutObjectRequest& WithChecksumCRC32(const Aws::String& value) { SetChecksumCRC32(value); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline PutObjectRequest& WithChecksumCRC32(Aws::String&& value) { SetChecksumCRC32(std::move(value)); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline PutObjectRequest& WithChecksumCRC32(const char* value) { SetChecksumCRC32(value); return *this;} + + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32C checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32C() const{ return m_checksumCRC32C; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32C checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumCRC32CHasBeenSet() const { return m_checksumCRC32CHasBeenSet; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32C checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const Aws::String& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = value; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32C checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(Aws::String&& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = std::move(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32C checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const char* value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C.assign(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32C checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline PutObjectRequest& WithChecksumCRC32C(const Aws::String& value) { SetChecksumCRC32C(value); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32C checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline PutObjectRequest& WithChecksumCRC32C(Aws::String&& value) { SetChecksumCRC32C(std::move(value)); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32C checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline PutObjectRequest& WithChecksumCRC32C(const char* value) { SetChecksumCRC32C(value); return *this;} + + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA1() const{ return m_checksumSHA1; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumSHA1HasBeenSet() const { return m_checksumSHA1HasBeenSet; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const Aws::String& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = value; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(Aws::String&& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = std::move(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const char* value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1.assign(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline PutObjectRequest& WithChecksumSHA1(const Aws::String& value) { SetChecksumSHA1(value); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline PutObjectRequest& WithChecksumSHA1(Aws::String&& value) { SetChecksumSHA1(std::move(value)); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline PutObjectRequest& WithChecksumSHA1(const char* value) { SetChecksumSHA1(value); return *this;} + + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA256() const{ return m_checksumSHA256; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumSHA256HasBeenSet() const { return m_checksumSHA256HasBeenSet; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const Aws::String& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = value; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(Aws::String&& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = std::move(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const char* value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256.assign(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline PutObjectRequest& WithChecksumSHA256(const Aws::String& value) { SetChecksumSHA256(value); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline PutObjectRequest& WithChecksumSHA256(Aws::String&& value) { SetChecksumSHA256(std::move(value)); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline PutObjectRequest& WithChecksumSHA256(const char* value) { SetChecksumSHA256(value); return *this;} + + + /** * <p>The date and time at which the object is no longer cacheable. For more * information, see <a * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21</a>.</p> @@ -987,7 +1395,7 @@ namespace Model * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For * more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage - * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + * Classes</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const StorageClass& GetStorageClass() const{ return m_storageClass; } @@ -998,7 +1406,7 @@ namespace Model * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For * more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage - * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + * Classes</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; } @@ -1009,7 +1417,7 @@ namespace Model * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For * more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage - * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + * Classes</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetStorageClass(const StorageClass& value) { m_storageClassHasBeenSet = true; m_storageClass = value; } @@ -1020,7 +1428,7 @@ namespace Model * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For * more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage - * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + * Classes</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetStorageClass(StorageClass&& value) { m_storageClassHasBeenSet = true; m_storageClass = std::move(value); } @@ -1031,7 +1439,7 @@ namespace Model * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For * more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage - * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + * Classes</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline PutObjectRequest& WithStorageClass(const StorageClass& value) { SetStorageClass(value); return *this;} @@ -1042,7 +1450,7 @@ namespace Model * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For * more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage - * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + * Classes</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline PutObjectRequest& WithStorageClass(StorageClass&& value) { SetStorageClass(std::move(value)); return *this;} @@ -1389,170 +1797,162 @@ namespace Model /** * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of - * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management - * Service (AWS KMS) symmetrical customer managed customer master key (CMK) that - * was used for the object.</p> <p> If the value of - * <code>x-amz-server-side-encryption</code> is <code>aws:kms</code>, this header - * specifies the ID of the symmetric customer managed AWS KMS CMK that will be used - * for the object. If you specify + * <code>aws:kms</code>, this header specifies the ID of the Amazon Web Services + * Key Management Service (Amazon Web Services KMS) symmetrical customer managed + * key that was used for the object. If you specify * <code>x-amz-server-side-encryption:aws:kms</code>, but do not provide<code> - * x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS - * managed CMK in AWS to protect the data.</p> + * x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the Amazon + * Web Services managed key to protect the data. If the KMS key does not exist in + * the same account issuing the command, you must use the full ARN and not just the + * ID. </p> */ inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } /** * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of - * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management - * Service (AWS KMS) symmetrical customer managed customer master key (CMK) that - * was used for the object.</p> <p> If the value of - * <code>x-amz-server-side-encryption</code> is <code>aws:kms</code>, this header - * specifies the ID of the symmetric customer managed AWS KMS CMK that will be used - * for the object. If you specify + * <code>aws:kms</code>, this header specifies the ID of the Amazon Web Services + * Key Management Service (Amazon Web Services KMS) symmetrical customer managed + * key that was used for the object. If you specify * <code>x-amz-server-side-encryption:aws:kms</code>, but do not provide<code> - * x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS - * managed CMK in AWS to protect the data.</p> + * x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the Amazon + * Web Services managed key to protect the data. If the KMS key does not exist in + * the same account issuing the command, you must use the full ARN and not just the + * ID. </p> */ inline bool SSEKMSKeyIdHasBeenSet() const { return m_sSEKMSKeyIdHasBeenSet; } /** * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of - * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management - * Service (AWS KMS) symmetrical customer managed customer master key (CMK) that - * was used for the object.</p> <p> If the value of - * <code>x-amz-server-side-encryption</code> is <code>aws:kms</code>, this header - * specifies the ID of the symmetric customer managed AWS KMS CMK that will be used - * for the object. If you specify + * <code>aws:kms</code>, this header specifies the ID of the Amazon Web Services + * Key Management Service (Amazon Web Services KMS) symmetrical customer managed + * key that was used for the object. If you specify * <code>x-amz-server-side-encryption:aws:kms</code>, but do not provide<code> - * x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS - * managed CMK in AWS to protect the data.</p> + * x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the Amazon + * Web Services managed key to protect the data. If the KMS key does not exist in + * the same account issuing the command, you must use the full ARN and not just the + * ID. </p> */ inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId = value; } /** * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of - * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management - * Service (AWS KMS) symmetrical customer managed customer master key (CMK) that - * was used for the object.</p> <p> If the value of - * <code>x-amz-server-side-encryption</code> is <code>aws:kms</code>, this header - * specifies the ID of the symmetric customer managed AWS KMS CMK that will be used - * for the object. If you specify + * <code>aws:kms</code>, this header specifies the ID of the Amazon Web Services + * Key Management Service (Amazon Web Services KMS) symmetrical customer managed + * key that was used for the object. If you specify * <code>x-amz-server-side-encryption:aws:kms</code>, but do not provide<code> - * x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS - * managed CMK in AWS to protect the data.</p> + * x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the Amazon + * Web Services managed key to protect the data. If the KMS key does not exist in + * the same account issuing the command, you must use the full ARN and not just the + * ID. </p> */ inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId = std::move(value); } /** * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of - * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management - * Service (AWS KMS) symmetrical customer managed customer master key (CMK) that - * was used for the object.</p> <p> If the value of - * <code>x-amz-server-side-encryption</code> is <code>aws:kms</code>, this header - * specifies the ID of the symmetric customer managed AWS KMS CMK that will be used - * for the object. If you specify + * <code>aws:kms</code>, this header specifies the ID of the Amazon Web Services + * Key Management Service (Amazon Web Services KMS) symmetrical customer managed + * key that was used for the object. If you specify * <code>x-amz-server-side-encryption:aws:kms</code>, but do not provide<code> - * x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS - * managed CMK in AWS to protect the data.</p> + * x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the Amazon + * Web Services managed key to protect the data. If the KMS key does not exist in + * the same account issuing the command, you must use the full ARN and not just the + * ID. </p> */ inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId.assign(value); } /** * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of - * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management - * Service (AWS KMS) symmetrical customer managed customer master key (CMK) that - * was used for the object.</p> <p> If the value of - * <code>x-amz-server-side-encryption</code> is <code>aws:kms</code>, this header - * specifies the ID of the symmetric customer managed AWS KMS CMK that will be used - * for the object. If you specify + * <code>aws:kms</code>, this header specifies the ID of the Amazon Web Services + * Key Management Service (Amazon Web Services KMS) symmetrical customer managed + * key that was used for the object. If you specify * <code>x-amz-server-side-encryption:aws:kms</code>, but do not provide<code> - * x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS - * managed CMK in AWS to protect the data.</p> + * x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the Amazon + * Web Services managed key to protect the data. If the KMS key does not exist in + * the same account issuing the command, you must use the full ARN and not just the + * ID. </p> */ inline PutObjectRequest& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} /** * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of - * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management - * Service (AWS KMS) symmetrical customer managed customer master key (CMK) that - * was used for the object.</p> <p> If the value of - * <code>x-amz-server-side-encryption</code> is <code>aws:kms</code>, this header - * specifies the ID of the symmetric customer managed AWS KMS CMK that will be used - * for the object. If you specify + * <code>aws:kms</code>, this header specifies the ID of the Amazon Web Services + * Key Management Service (Amazon Web Services KMS) symmetrical customer managed + * key that was used for the object. If you specify * <code>x-amz-server-side-encryption:aws:kms</code>, but do not provide<code> - * x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS - * managed CMK in AWS to protect the data.</p> + * x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the Amazon + * Web Services managed key to protect the data. If the KMS key does not exist in + * the same account issuing the command, you must use the full ARN and not just the + * ID. </p> */ inline PutObjectRequest& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} /** * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of - * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management - * Service (AWS KMS) symmetrical customer managed customer master key (CMK) that - * was used for the object.</p> <p> If the value of - * <code>x-amz-server-side-encryption</code> is <code>aws:kms</code>, this header - * specifies the ID of the symmetric customer managed AWS KMS CMK that will be used - * for the object. If you specify + * <code>aws:kms</code>, this header specifies the ID of the Amazon Web Services + * Key Management Service (Amazon Web Services KMS) symmetrical customer managed + * key that was used for the object. If you specify * <code>x-amz-server-side-encryption:aws:kms</code>, but do not provide<code> - * x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS - * managed CMK in AWS to protect the data.</p> + * x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the Amazon + * Web Services managed key to protect the data. If the KMS key does not exist in + * the same account issuing the command, you must use the full ARN and not just the + * ID. </p> */ inline PutObjectRequest& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} /** - * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The - * value of this header is a base64-encoded UTF-8 string holding JSON with the - * encryption context key-value pairs.</p> + * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> */ inline const Aws::String& GetSSEKMSEncryptionContext() const{ return m_sSEKMSEncryptionContext; } /** - * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The - * value of this header is a base64-encoded UTF-8 string holding JSON with the - * encryption context key-value pairs.</p> + * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> */ inline bool SSEKMSEncryptionContextHasBeenSet() const { return m_sSEKMSEncryptionContextHasBeenSet; } /** - * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The - * value of this header is a base64-encoded UTF-8 string holding JSON with the - * encryption context key-value pairs.</p> + * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> */ inline void SetSSEKMSEncryptionContext(const Aws::String& value) { m_sSEKMSEncryptionContextHasBeenSet = true; m_sSEKMSEncryptionContext = value; } /** - * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The - * value of this header is a base64-encoded UTF-8 string holding JSON with the - * encryption context key-value pairs.</p> + * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> */ inline void SetSSEKMSEncryptionContext(Aws::String&& value) { m_sSEKMSEncryptionContextHasBeenSet = true; m_sSEKMSEncryptionContext = std::move(value); } /** - * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The - * value of this header is a base64-encoded UTF-8 string holding JSON with the - * encryption context key-value pairs.</p> + * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> */ inline void SetSSEKMSEncryptionContext(const char* value) { m_sSEKMSEncryptionContextHasBeenSet = true; m_sSEKMSEncryptionContext.assign(value); } /** - * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The - * value of this header is a base64-encoded UTF-8 string holding JSON with the - * encryption context key-value pairs.</p> + * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> */ inline PutObjectRequest& WithSSEKMSEncryptionContext(const Aws::String& value) { SetSSEKMSEncryptionContext(value); return *this;} /** - * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The - * value of this header is a base64-encoded UTF-8 string holding JSON with the - * encryption context key-value pairs.</p> + * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> */ inline PutObjectRequest& WithSSEKMSEncryptionContext(Aws::String&& value) { SetSSEKMSEncryptionContext(std::move(value)); return *this;} /** - * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The - * value of this header is a base64-encoded UTF-8 string holding JSON with the - * encryption context key-value pairs.</p> + * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> */ inline PutObjectRequest& WithSSEKMSEncryptionContext(const char* value) { SetSSEKMSEncryptionContext(value); return *this;} @@ -1694,32 +2094,38 @@ namespace Model /** - * <p>The date and time when you want this object's Object Lock to expire.</p> + * <p>The date and time when you want this object's Object Lock to expire. Must be + * formatted as a timestamp parameter.</p> */ inline const Aws::Utils::DateTime& GetObjectLockRetainUntilDate() const{ return m_objectLockRetainUntilDate; } /** - * <p>The date and time when you want this object's Object Lock to expire.</p> + * <p>The date and time when you want this object's Object Lock to expire. Must be + * formatted as a timestamp parameter.</p> */ inline bool ObjectLockRetainUntilDateHasBeenSet() const { return m_objectLockRetainUntilDateHasBeenSet; } /** - * <p>The date and time when you want this object's Object Lock to expire.</p> + * <p>The date and time when you want this object's Object Lock to expire. Must be + * formatted as a timestamp parameter.</p> */ inline void SetObjectLockRetainUntilDate(const Aws::Utils::DateTime& value) { m_objectLockRetainUntilDateHasBeenSet = true; m_objectLockRetainUntilDate = value; } /** - * <p>The date and time when you want this object's Object Lock to expire.</p> + * <p>The date and time when you want this object's Object Lock to expire. Must be + * formatted as a timestamp parameter.</p> */ inline void SetObjectLockRetainUntilDate(Aws::Utils::DateTime&& value) { m_objectLockRetainUntilDateHasBeenSet = true; m_objectLockRetainUntilDate = std::move(value); } /** - * <p>The date and time when you want this object's Object Lock to expire.</p> + * <p>The date and time when you want this object's Object Lock to expire. Must be + * formatted as a timestamp parameter.</p> */ inline PutObjectRequest& WithObjectLockRetainUntilDate(const Aws::Utils::DateTime& value) { SetObjectLockRetainUntilDate(value); return *this;} /** - * <p>The date and time when you want this object's Object Lock to expire.</p> + * <p>The date and time when you want this object's Object Lock to expire. Must be + * formatted as a timestamp parameter.</p> */ inline PutObjectRequest& WithObjectLockRetainUntilDate(Aws::Utils::DateTime&& value) { SetObjectLockRetainUntilDate(std::move(value)); return *this;} @@ -1775,57 +2181,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutObjectRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutObjectRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutObjectRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -1872,98 +2278,113 @@ namespace Model private: ObjectCannedACL m_aCL; - bool m_aCLHasBeenSet; + bool m_aCLHasBeenSet = false; Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_cacheControl; - bool m_cacheControlHasBeenSet; + bool m_cacheControlHasBeenSet = false; Aws::String m_contentDisposition; - bool m_contentDispositionHasBeenSet; + bool m_contentDispositionHasBeenSet = false; Aws::String m_contentEncoding; - bool m_contentEncodingHasBeenSet; + bool m_contentEncodingHasBeenSet = false; Aws::String m_contentLanguage; - bool m_contentLanguageHasBeenSet; + bool m_contentLanguageHasBeenSet = false; long long m_contentLength; - bool m_contentLengthHasBeenSet; + bool m_contentLengthHasBeenSet = false; Aws::String m_contentMD5; - bool m_contentMD5HasBeenSet; + bool m_contentMD5HasBeenSet = false; + + ChecksumAlgorithm m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; + + Aws::String m_checksumCRC32; + bool m_checksumCRC32HasBeenSet = false; + + Aws::String m_checksumCRC32C; + bool m_checksumCRC32CHasBeenSet = false; + + Aws::String m_checksumSHA1; + bool m_checksumSHA1HasBeenSet = false; + + Aws::String m_checksumSHA256; + bool m_checksumSHA256HasBeenSet = false; Aws::Utils::DateTime m_expires; - bool m_expiresHasBeenSet; + bool m_expiresHasBeenSet = false; Aws::String m_grantFullControl; - bool m_grantFullControlHasBeenSet; + bool m_grantFullControlHasBeenSet = false; Aws::String m_grantRead; - bool m_grantReadHasBeenSet; + bool m_grantReadHasBeenSet = false; Aws::String m_grantReadACP; - bool m_grantReadACPHasBeenSet; + bool m_grantReadACPHasBeenSet = false; Aws::String m_grantWriteACP; - bool m_grantWriteACPHasBeenSet; + bool m_grantWriteACPHasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_metadata; - bool m_metadataHasBeenSet; + bool m_metadataHasBeenSet = false; ServerSideEncryption m_serverSideEncryption; - bool m_serverSideEncryptionHasBeenSet; + bool m_serverSideEncryptionHasBeenSet = false; StorageClass m_storageClass; - bool m_storageClassHasBeenSet; + bool m_storageClassHasBeenSet = false; Aws::String m_websiteRedirectLocation; - bool m_websiteRedirectLocationHasBeenSet; + bool m_websiteRedirectLocationHasBeenSet = false; Aws::String m_sSECustomerAlgorithm; - bool m_sSECustomerAlgorithmHasBeenSet; + bool m_sSECustomerAlgorithmHasBeenSet = false; Aws::String m_sSECustomerKey; - bool m_sSECustomerKeyHasBeenSet; + bool m_sSECustomerKeyHasBeenSet = false; Aws::String m_sSECustomerKeyMD5; - bool m_sSECustomerKeyMD5HasBeenSet; + bool m_sSECustomerKeyMD5HasBeenSet = false; Aws::String m_sSEKMSKeyId; - bool m_sSEKMSKeyIdHasBeenSet; + bool m_sSEKMSKeyIdHasBeenSet = false; Aws::String m_sSEKMSEncryptionContext; - bool m_sSEKMSEncryptionContextHasBeenSet; + bool m_sSEKMSEncryptionContextHasBeenSet = false; bool m_bucketKeyEnabled; - bool m_bucketKeyEnabledHasBeenSet; + bool m_bucketKeyEnabledHasBeenSet = false; RequestPayer m_requestPayer; - bool m_requestPayerHasBeenSet; + bool m_requestPayerHasBeenSet = false; Aws::String m_tagging; - bool m_taggingHasBeenSet; + bool m_taggingHasBeenSet = false; ObjectLockMode m_objectLockMode; - bool m_objectLockModeHasBeenSet; + bool m_objectLockModeHasBeenSet = false; Aws::Utils::DateTime m_objectLockRetainUntilDate; - bool m_objectLockRetainUntilDateHasBeenSet; + bool m_objectLockRetainUntilDateHasBeenSet = false; ObjectLockLegalHoldStatus m_objectLockLegalHoldStatus; - bool m_objectLockLegalHoldStatusHasBeenSet; + bool m_objectLockLegalHoldStatusHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectResult.h index f8b5bf13e7..71eac15963 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectResult.h @@ -26,74 +26,74 @@ namespace S3 { namespace Model { - class AWS_S3_API PutObjectResult + class PutObjectResult { public: - PutObjectResult(); - PutObjectResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - PutObjectResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API PutObjectResult(); + AWS_S3_API PutObjectResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API PutObjectResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** - * <p> If the expiration is configured for the object (see <a + * <p>If the expiration is configured for the object (see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a>), - * the response includes this header. It includes the expiry-date and rule-id - * key-value pairs that provide information about object expiration. The value of - * the rule-id is URL encoded.</p> + * the response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs that provide information about object + * expiration. The value of the <code>rule-id</code> is URL-encoded.</p> */ inline const Aws::String& GetExpiration() const{ return m_expiration; } /** - * <p> If the expiration is configured for the object (see <a + * <p>If the expiration is configured for the object (see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a>), - * the response includes this header. It includes the expiry-date and rule-id - * key-value pairs that provide information about object expiration. The value of - * the rule-id is URL encoded.</p> + * the response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs that provide information about object + * expiration. The value of the <code>rule-id</code> is URL-encoded.</p> */ inline void SetExpiration(const Aws::String& value) { m_expiration = value; } /** - * <p> If the expiration is configured for the object (see <a + * <p>If the expiration is configured for the object (see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a>), - * the response includes this header. It includes the expiry-date and rule-id - * key-value pairs that provide information about object expiration. The value of - * the rule-id is URL encoded.</p> + * the response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs that provide information about object + * expiration. The value of the <code>rule-id</code> is URL-encoded.</p> */ inline void SetExpiration(Aws::String&& value) { m_expiration = std::move(value); } /** - * <p> If the expiration is configured for the object (see <a + * <p>If the expiration is configured for the object (see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a>), - * the response includes this header. It includes the expiry-date and rule-id - * key-value pairs that provide information about object expiration. The value of - * the rule-id is URL encoded.</p> + * the response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs that provide information about object + * expiration. The value of the <code>rule-id</code> is URL-encoded.</p> */ inline void SetExpiration(const char* value) { m_expiration.assign(value); } /** - * <p> If the expiration is configured for the object (see <a + * <p>If the expiration is configured for the object (see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a>), - * the response includes this header. It includes the expiry-date and rule-id - * key-value pairs that provide information about object expiration. The value of - * the rule-id is URL encoded.</p> + * the response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs that provide information about object + * expiration. The value of the <code>rule-id</code> is URL-encoded.</p> */ inline PutObjectResult& WithExpiration(const Aws::String& value) { SetExpiration(value); return *this;} /** - * <p> If the expiration is configured for the object (see <a + * <p>If the expiration is configured for the object (see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a>), - * the response includes this header. It includes the expiry-date and rule-id - * key-value pairs that provide information about object expiration. The value of - * the rule-id is URL encoded.</p> + * the response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs that provide information about object + * expiration. The value of the <code>rule-id</code> is URL-encoded.</p> */ inline PutObjectResult& WithExpiration(Aws::String&& value) { SetExpiration(std::move(value)); return *this;} /** - * <p> If the expiration is configured for the object (see <a + * <p>If the expiration is configured for the object (see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a>), - * the response includes this header. It includes the expiry-date and rule-id - * key-value pairs that provide information about object expiration. The value of - * the rule-id is URL encoded.</p> + * the response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs that provide information about object + * expiration. The value of the <code>rule-id</code> is URL-encoded.</p> */ inline PutObjectResult& WithExpiration(const char* value) { SetExpiration(value); return *this;} @@ -135,42 +135,326 @@ namespace Model /** - * <p>If you specified server-side encryption either with an AWS KMS customer - * master key (CMK) or Amazon S3-managed encryption key in your PUT request, the - * response includes this header. It confirms the encryption algorithm that Amazon - * S3 used to encrypt the object.</p> + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32() const{ return m_checksumCRC32; } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const Aws::String& value) { m_checksumCRC32 = value; } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(Aws::String&& value) { m_checksumCRC32 = std::move(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const char* value) { m_checksumCRC32.assign(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline PutObjectResult& WithChecksumCRC32(const Aws::String& value) { SetChecksumCRC32(value); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline PutObjectResult& WithChecksumCRC32(Aws::String&& value) { SetChecksumCRC32(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline PutObjectResult& WithChecksumCRC32(const char* value) { SetChecksumCRC32(value); return *this;} + + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32C() const{ return m_checksumCRC32C; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const Aws::String& value) { m_checksumCRC32C = value; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(Aws::String&& value) { m_checksumCRC32C = std::move(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const char* value) { m_checksumCRC32C.assign(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline PutObjectResult& WithChecksumCRC32C(const Aws::String& value) { SetChecksumCRC32C(value); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline PutObjectResult& WithChecksumCRC32C(Aws::String&& value) { SetChecksumCRC32C(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline PutObjectResult& WithChecksumCRC32C(const char* value) { SetChecksumCRC32C(value); return *this;} + + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA1() const{ return m_checksumSHA1; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const Aws::String& value) { m_checksumSHA1 = value; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(Aws::String&& value) { m_checksumSHA1 = std::move(value); } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const char* value) { m_checksumSHA1.assign(value); } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline PutObjectResult& WithChecksumSHA1(const Aws::String& value) { SetChecksumSHA1(value); return *this;} + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline PutObjectResult& WithChecksumSHA1(Aws::String&& value) { SetChecksumSHA1(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline PutObjectResult& WithChecksumSHA1(const char* value) { SetChecksumSHA1(value); return *this;} + + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA256() const{ return m_checksumSHA256; } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const Aws::String& value) { m_checksumSHA256 = value; } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(Aws::String&& value) { m_checksumSHA256 = std::move(value); } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const char* value) { m_checksumSHA256.assign(value); } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline PutObjectResult& WithChecksumSHA256(const Aws::String& value) { SetChecksumSHA256(value); return *this;} + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline PutObjectResult& WithChecksumSHA256(Aws::String&& value) { SetChecksumSHA256(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline PutObjectResult& WithChecksumSHA256(const char* value) { SetChecksumSHA256(value); return *this;} + + + /** + * <p>If you specified server-side encryption either with an Amazon Web Services + * KMS key or Amazon S3-managed encryption key in your PUT request, the response + * includes this header. It confirms the encryption algorithm that Amazon S3 used + * to encrypt the object.</p> */ inline const ServerSideEncryption& GetServerSideEncryption() const{ return m_serverSideEncryption; } /** - * <p>If you specified server-side encryption either with an AWS KMS customer - * master key (CMK) or Amazon S3-managed encryption key in your PUT request, the - * response includes this header. It confirms the encryption algorithm that Amazon - * S3 used to encrypt the object.</p> + * <p>If you specified server-side encryption either with an Amazon Web Services + * KMS key or Amazon S3-managed encryption key in your PUT request, the response + * includes this header. It confirms the encryption algorithm that Amazon S3 used + * to encrypt the object.</p> */ inline void SetServerSideEncryption(const ServerSideEncryption& value) { m_serverSideEncryption = value; } /** - * <p>If you specified server-side encryption either with an AWS KMS customer - * master key (CMK) or Amazon S3-managed encryption key in your PUT request, the - * response includes this header. It confirms the encryption algorithm that Amazon - * S3 used to encrypt the object.</p> + * <p>If you specified server-side encryption either with an Amazon Web Services + * KMS key or Amazon S3-managed encryption key in your PUT request, the response + * includes this header. It confirms the encryption algorithm that Amazon S3 used + * to encrypt the object.</p> */ inline void SetServerSideEncryption(ServerSideEncryption&& value) { m_serverSideEncryption = std::move(value); } /** - * <p>If you specified server-side encryption either with an AWS KMS customer - * master key (CMK) or Amazon S3-managed encryption key in your PUT request, the - * response includes this header. It confirms the encryption algorithm that Amazon - * S3 used to encrypt the object.</p> + * <p>If you specified server-side encryption either with an Amazon Web Services + * KMS key or Amazon S3-managed encryption key in your PUT request, the response + * includes this header. It confirms the encryption algorithm that Amazon S3 used + * to encrypt the object.</p> */ inline PutObjectResult& WithServerSideEncryption(const ServerSideEncryption& value) { SetServerSideEncryption(value); return *this;} /** - * <p>If you specified server-side encryption either with an AWS KMS customer - * master key (CMK) or Amazon S3-managed encryption key in your PUT request, the - * response includes this header. It confirms the encryption algorithm that Amazon - * S3 used to encrypt the object.</p> + * <p>If you specified server-side encryption either with an Amazon Web Services + * KMS key or Amazon S3-managed encryption key in your PUT request, the response + * includes this header. It confirms the encryption algorithm that Amazon S3 used + * to encrypt the object.</p> */ inline PutObjectResult& WithServerSideEncryption(ServerSideEncryption&& value) { SetServerSideEncryption(std::move(value)); return *this;} @@ -313,126 +597,126 @@ namespace Model /** * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of - * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management - * Service (AWS KMS) symmetric customer managed customer master key (CMK) that was - * used for the object. </p> + * <code>aws:kms</code>, this header specifies the ID of the Amazon Web Services + * Key Management Service (Amazon Web Services KMS) symmetric customer managed key + * that was used for the object. </p> */ inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } /** * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of - * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management - * Service (AWS KMS) symmetric customer managed customer master key (CMK) that was - * used for the object. </p> + * <code>aws:kms</code>, this header specifies the ID of the Amazon Web Services + * Key Management Service (Amazon Web Services KMS) symmetric customer managed key + * that was used for the object. </p> */ inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyId = value; } /** * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of - * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management - * Service (AWS KMS) symmetric customer managed customer master key (CMK) that was - * used for the object. </p> + * <code>aws:kms</code>, this header specifies the ID of the Amazon Web Services + * Key Management Service (Amazon Web Services KMS) symmetric customer managed key + * that was used for the object. </p> */ inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyId = std::move(value); } /** * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of - * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management - * Service (AWS KMS) symmetric customer managed customer master key (CMK) that was - * used for the object. </p> + * <code>aws:kms</code>, this header specifies the ID of the Amazon Web Services + * Key Management Service (Amazon Web Services KMS) symmetric customer managed key + * that was used for the object. </p> */ inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyId.assign(value); } /** * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of - * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management - * Service (AWS KMS) symmetric customer managed customer master key (CMK) that was - * used for the object. </p> + * <code>aws:kms</code>, this header specifies the ID of the Amazon Web Services + * Key Management Service (Amazon Web Services KMS) symmetric customer managed key + * that was used for the object. </p> */ inline PutObjectResult& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} /** * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of - * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management - * Service (AWS KMS) symmetric customer managed customer master key (CMK) that was - * used for the object. </p> + * <code>aws:kms</code>, this header specifies the ID of the Amazon Web Services + * Key Management Service (Amazon Web Services KMS) symmetric customer managed key + * that was used for the object. </p> */ inline PutObjectResult& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} /** * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of - * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management - * Service (AWS KMS) symmetric customer managed customer master key (CMK) that was - * used for the object. </p> + * <code>aws:kms</code>, this header specifies the ID of the Amazon Web Services + * Key Management Service (Amazon Web Services KMS) symmetric customer managed key + * that was used for the object. </p> */ inline PutObjectResult& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} /** - * <p>If present, specifies the AWS KMS Encryption Context to use for object - * encryption. The value of this header is a base64-encoded UTF-8 string holding - * JSON with the encryption context key-value pairs.</p> + * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use + * for object encryption. The value of this header is a base64-encoded UTF-8 string + * holding JSON with the encryption context key-value pairs.</p> */ inline const Aws::String& GetSSEKMSEncryptionContext() const{ return m_sSEKMSEncryptionContext; } /** - * <p>If present, specifies the AWS KMS Encryption Context to use for object - * encryption. The value of this header is a base64-encoded UTF-8 string holding - * JSON with the encryption context key-value pairs.</p> + * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use + * for object encryption. The value of this header is a base64-encoded UTF-8 string + * holding JSON with the encryption context key-value pairs.</p> */ inline void SetSSEKMSEncryptionContext(const Aws::String& value) { m_sSEKMSEncryptionContext = value; } /** - * <p>If present, specifies the AWS KMS Encryption Context to use for object - * encryption. The value of this header is a base64-encoded UTF-8 string holding - * JSON with the encryption context key-value pairs.</p> + * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use + * for object encryption. The value of this header is a base64-encoded UTF-8 string + * holding JSON with the encryption context key-value pairs.</p> */ inline void SetSSEKMSEncryptionContext(Aws::String&& value) { m_sSEKMSEncryptionContext = std::move(value); } /** - * <p>If present, specifies the AWS KMS Encryption Context to use for object - * encryption. The value of this header is a base64-encoded UTF-8 string holding - * JSON with the encryption context key-value pairs.</p> + * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use + * for object encryption. The value of this header is a base64-encoded UTF-8 string + * holding JSON with the encryption context key-value pairs.</p> */ inline void SetSSEKMSEncryptionContext(const char* value) { m_sSEKMSEncryptionContext.assign(value); } /** - * <p>If present, specifies the AWS KMS Encryption Context to use for object - * encryption. The value of this header is a base64-encoded UTF-8 string holding - * JSON with the encryption context key-value pairs.</p> + * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use + * for object encryption. The value of this header is a base64-encoded UTF-8 string + * holding JSON with the encryption context key-value pairs.</p> */ inline PutObjectResult& WithSSEKMSEncryptionContext(const Aws::String& value) { SetSSEKMSEncryptionContext(value); return *this;} /** - * <p>If present, specifies the AWS KMS Encryption Context to use for object - * encryption. The value of this header is a base64-encoded UTF-8 string holding - * JSON with the encryption context key-value pairs.</p> + * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use + * for object encryption. The value of this header is a base64-encoded UTF-8 string + * holding JSON with the encryption context key-value pairs.</p> */ inline PutObjectResult& WithSSEKMSEncryptionContext(Aws::String&& value) { SetSSEKMSEncryptionContext(std::move(value)); return *this;} /** - * <p>If present, specifies the AWS KMS Encryption Context to use for object - * encryption. The value of this header is a base64-encoded UTF-8 string holding - * JSON with the encryption context key-value pairs.</p> + * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use + * for object encryption. The value of this header is a base64-encoded UTF-8 string + * holding JSON with the encryption context key-value pairs.</p> */ inline PutObjectResult& WithSSEKMSEncryptionContext(const char* value) { SetSSEKMSEncryptionContext(value); return *this;} /** * <p>Indicates whether the uploaded object uses an S3 Bucket Key for server-side - * encryption with AWS KMS (SSE-KMS).</p> + * encryption with Amazon Web Services KMS (SSE-KMS).</p> */ inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } /** * <p>Indicates whether the uploaded object uses an S3 Bucket Key for server-side - * encryption with AWS KMS (SSE-KMS).</p> + * encryption with Amazon Web Services KMS (SSE-KMS).</p> */ inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabled = value; } /** * <p>Indicates whether the uploaded object uses an S3 Bucket Key for server-side - * encryption with AWS KMS (SSE-KMS).</p> + * encryption with Amazon Web Services KMS (SSE-KMS).</p> */ inline PutObjectResult& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;} @@ -458,6 +742,14 @@ namespace Model Aws::String m_eTag; + Aws::String m_checksumCRC32; + + Aws::String m_checksumCRC32C; + + Aws::String m_checksumSHA1; + + Aws::String m_checksumSHA256; + ServerSideEncryption m_serverSideEncryption; Aws::String m_versionId; diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRetentionRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRetentionRequest.h index e11e2568a1..9447737e66 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRetentionRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRetentionRequest.h @@ -9,6 +9,7 @@ #include <aws/core/utils/memory/stl/AWSString.h> #include <aws/s3/model/ObjectLockRetention.h> #include <aws/s3/model/RequestPayer.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <aws/core/utils/memory/stl/AWSMap.h> #include <utility> @@ -25,10 +26,10 @@ namespace Model /** */ - class AWS_S3_API PutObjectRetentionRequest : public S3Request + class PutObjectRetentionRequest : public S3Request { public: - PutObjectRetentionRequest(); + AWS_S3_API PutObjectRetentionRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -36,14 +37,18 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutObjectRetention"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; - inline bool ShouldComputeContentMd5() const override { return true; } + AWS_S3_API Aws::String GetChecksumAlgorithmName() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name that contains the object you want to apply this Object @@ -51,11 +56,11 @@ namespace Model * you must direct requests to the access point hostname. The access point hostname * takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } @@ -65,11 +70,11 @@ namespace Model * you must direct requests to the access point hostname. The access point hostname * takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } @@ -79,11 +84,11 @@ namespace Model * you must direct requests to the access point hostname. The access point hostname * takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } @@ -93,11 +98,11 @@ namespace Model * you must direct requests to the access point hostname. The access point hostname * takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } @@ -107,11 +112,11 @@ namespace Model * you must direct requests to the access point hostname. The access point hostname * takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } @@ -121,11 +126,11 @@ namespace Model * you must direct requests to the access point hostname. The access point hostname * takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline PutObjectRetentionRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} @@ -135,11 +140,11 @@ namespace Model * you must direct requests to the access point hostname. The access point hostname * takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline PutObjectRetentionRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} @@ -149,11 +154,11 @@ namespace Model * you must direct requests to the access point hostname. The access point hostname * takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline PutObjectRetentionRequest& WithBucket(const char* value) { SetBucket(value); return *this;} @@ -328,115 +333,200 @@ namespace Model /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline PutObjectRetentionRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline PutObjectRetentionRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline PutObjectRetentionRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutObjectRetentionRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutObjectRetentionRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + + /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutObjectRetentionRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutObjectRetentionRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutObjectRetentionRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -483,31 +573,34 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; ObjectLockRetention m_retention; - bool m_retentionHasBeenSet; + bool m_retentionHasBeenSet = false; RequestPayer m_requestPayer; - bool m_requestPayerHasBeenSet; + bool m_requestPayerHasBeenSet = false; Aws::String m_versionId; - bool m_versionIdHasBeenSet; + bool m_versionIdHasBeenSet = false; bool m_bypassGovernanceRetention; - bool m_bypassGovernanceRetentionHasBeenSet; + bool m_bypassGovernanceRetentionHasBeenSet = false; Aws::String m_contentMD5; - bool m_contentMD5HasBeenSet; + bool m_contentMD5HasBeenSet = false; + + ChecksumAlgorithm m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRetentionResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRetentionResult.h index c35bdbd110..fdd21a4524 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRetentionResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRetentionResult.h @@ -24,12 +24,12 @@ namespace S3 { namespace Model { - class AWS_S3_API PutObjectRetentionResult + class PutObjectRetentionResult { public: - PutObjectRetentionResult(); - PutObjectRetentionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - PutObjectRetentionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API PutObjectRetentionResult(); + AWS_S3_API PutObjectRetentionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API PutObjectRetentionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectTaggingRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectTaggingRequest.h index 9bd467ebf1..2ce5195e29 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectTaggingRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectTaggingRequest.h @@ -7,6 +7,7 @@ #include <aws/s3/S3_EXPORTS.h> #include <aws/s3/S3Request.h> #include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <aws/s3/model/Tagging.h> #include <aws/s3/model/RequestPayer.h> #include <aws/core/utils/memory/stl/AWSMap.h> @@ -25,10 +26,10 @@ namespace Model /** */ - class AWS_S3_API PutObjectTaggingRequest : public S3Request + class PutObjectTaggingRequest : public S3Request { public: - PutObjectTaggingRequest(); + AWS_S3_API PutObjectTaggingRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -36,33 +37,37 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutObjectTagging"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; - inline bool ShouldComputeContentMd5() const override { return true; } + AWS_S3_API Aws::String GetChecksumAlgorithmName() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name containing the object. </p> <p>When using this action with an * access point, you must direct requests to the access point hostname. The access * point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } @@ -71,19 +76,19 @@ namespace Model * access point, you must direct requests to the access point hostname. The access * point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } @@ -92,19 +97,19 @@ namespace Model * access point, you must direct requests to the access point hostname. The access * point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } @@ -113,19 +118,19 @@ namespace Model * access point, you must direct requests to the access point hostname. The access * point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } @@ -134,19 +139,19 @@ namespace Model * access point, you must direct requests to the access point hostname. The access * point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } @@ -155,19 +160,19 @@ namespace Model * access point, you must direct requests to the access point hostname. The access * point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline PutObjectTaggingRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} @@ -176,19 +181,19 @@ namespace Model * access point, you must direct requests to the access point hostname. The access * point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline PutObjectTaggingRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} @@ -197,19 +202,19 @@ namespace Model * access point, you must direct requests to the access point hostname. The access * point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline PutObjectTaggingRequest& WithBucket(const char* value) { SetBucket(value); return *this;} @@ -297,63 +302,148 @@ namespace Model /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline PutObjectTaggingRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline PutObjectTaggingRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} /** - * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS - * Command Line Interface (CLI) or AWS SDKs, this field is calculated - * automatically.</p> + * <p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon + * Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this + * field is calculated automatically.</p> */ inline PutObjectTaggingRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutObjectTaggingRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutObjectTaggingRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + + /** * <p>Container for the <code>TagSet</code> and <code>Tag</code> elements</p> */ inline const Tagging& GetTagging() const{ return m_tagging; } @@ -386,57 +476,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutObjectTaggingRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutObjectTaggingRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutObjectTaggingRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -502,28 +592,31 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; Aws::String m_versionId; - bool m_versionIdHasBeenSet; + bool m_versionIdHasBeenSet = false; Aws::String m_contentMD5; - bool m_contentMD5HasBeenSet; + bool m_contentMD5HasBeenSet = false; + + ChecksumAlgorithm m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; Tagging m_tagging; - bool m_taggingHasBeenSet; + bool m_taggingHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; RequestPayer m_requestPayer; - bool m_requestPayerHasBeenSet; + bool m_requestPayerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectTaggingResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectTaggingResult.h index 7a48440e89..4df7212374 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectTaggingResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectTaggingResult.h @@ -24,12 +24,12 @@ namespace S3 { namespace Model { - class AWS_S3_API PutObjectTaggingResult + class PutObjectTaggingResult { public: - PutObjectTaggingResult(); - PutObjectTaggingResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - PutObjectTaggingResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API PutObjectTaggingResult(); + AWS_S3_API PutObjectTaggingResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API PutObjectTaggingResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutPublicAccessBlockRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutPublicAccessBlockRequest.h index fd369ccfac..74862b9eaa 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutPublicAccessBlockRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutPublicAccessBlockRequest.h @@ -7,6 +7,7 @@ #include <aws/s3/S3_EXPORTS.h> #include <aws/s3/S3Request.h> #include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <aws/s3/model/PublicAccessBlockConfiguration.h> #include <aws/core/utils/memory/stl/AWSMap.h> #include <utility> @@ -24,10 +25,10 @@ namespace Model /** */ - class AWS_S3_API PutPublicAccessBlockRequest : public S3Request + class PutPublicAccessBlockRequest : public S3Request { public: - PutPublicAccessBlockRequest(); + AWS_S3_API PutPublicAccessBlockRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -35,14 +36,18 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutPublicAccessBlock"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; - inline bool ShouldComputeContentMd5() const override { return true; } + AWS_S3_API Aws::String GetChecksumAlgorithmName() const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the Amazon S3 bucket whose <code>PublicAccessBlock</code> @@ -95,62 +100,147 @@ namespace Model /** * <p>The MD5 hash of the <code>PutPublicAccessBlock</code> request body. </p> - * <p>For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, - * this field is calculated automatically.</p> + * <p>For requests made using the Amazon Web Services Command Line Interface (CLI) + * or Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } /** * <p>The MD5 hash of the <code>PutPublicAccessBlock</code> request body. </p> - * <p>For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, - * this field is calculated automatically.</p> + * <p>For requests made using the Amazon Web Services Command Line Interface (CLI) + * or Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } /** * <p>The MD5 hash of the <code>PutPublicAccessBlock</code> request body. </p> - * <p>For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, - * this field is calculated automatically.</p> + * <p>For requests made using the Amazon Web Services Command Line Interface (CLI) + * or Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } /** * <p>The MD5 hash of the <code>PutPublicAccessBlock</code> request body. </p> - * <p>For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, - * this field is calculated automatically.</p> + * <p>For requests made using the Amazon Web Services Command Line Interface (CLI) + * or Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } /** * <p>The MD5 hash of the <code>PutPublicAccessBlock</code> request body. </p> - * <p>For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, - * this field is calculated automatically.</p> + * <p>For requests made using the Amazon Web Services Command Line Interface (CLI) + * or Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } /** * <p>The MD5 hash of the <code>PutPublicAccessBlock</code> request body. </p> - * <p>For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, - * this field is calculated automatically.</p> + * <p>For requests made using the Amazon Web Services Command Line Interface (CLI) + * or Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline PutPublicAccessBlockRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} /** * <p>The MD5 hash of the <code>PutPublicAccessBlock</code> request body. </p> - * <p>For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, - * this field is calculated automatically.</p> + * <p>For requests made using the Amazon Web Services Command Line Interface (CLI) + * or Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline PutPublicAccessBlockRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} /** * <p>The MD5 hash of the <code>PutPublicAccessBlock</code> request body. </p> - * <p>For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, - * this field is calculated automatically.</p> + * <p>For requests made using the Amazon Web Services Command Line Interface (CLI) + * or Amazon Web Services SDKs, this field is calculated automatically.</p> */ inline PutPublicAccessBlockRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutPublicAccessBlockRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline PutPublicAccessBlockRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + + /** * <p>The <code>PublicAccessBlock</code> configuration that you want to apply to * this Amazon S3 bucket. You can enable the configuration options in any * combination. For more information about when Amazon S3 considers a bucket or @@ -213,57 +303,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutPublicAccessBlockRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutPublicAccessBlockRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline PutPublicAccessBlockRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -310,19 +400,22 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_contentMD5; - bool m_contentMD5HasBeenSet; + bool m_contentMD5HasBeenSet = false; + + ChecksumAlgorithm m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; PublicAccessBlockConfiguration m_publicAccessBlockConfiguration; - bool m_publicAccessBlockConfigurationHasBeenSet; + bool m_publicAccessBlockConfigurationHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/QueueConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/QueueConfiguration.h index 41cc3d2d70..6904890b57 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/QueueConfiguration.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/QueueConfiguration.h @@ -32,14 +32,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/QueueConfiguration">AWS * API Reference</a></p> */ - class AWS_S3_API QueueConfiguration + class QueueConfiguration { public: - QueueConfiguration(); - QueueConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); - QueueConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API QueueConfiguration(); + AWS_S3_API QueueConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API QueueConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; @@ -178,16 +178,16 @@ namespace Model private: Aws::String m_id; - bool m_idHasBeenSet; + bool m_idHasBeenSet = false; Aws::String m_queueArn; - bool m_queueArnHasBeenSet; + bool m_queueArnHasBeenSet = false; Aws::Vector<Event> m_events; - bool m_eventsHasBeenSet; + bool m_eventsHasBeenSet = false; NotificationConfigurationFilter m_filter; - bool m_filterHasBeenSet; + bool m_filterHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/QueueConfigurationDeprecated.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/QueueConfigurationDeprecated.h index 05c80b2db1..2edd7a1a4d 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/QueueConfigurationDeprecated.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/QueueConfigurationDeprecated.h @@ -33,14 +33,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/QueueConfigurationDeprecated">AWS * API Reference</a></p> */ - class AWS_S3_API QueueConfigurationDeprecated + class QueueConfigurationDeprecated { public: - QueueConfigurationDeprecated(); - QueueConfigurationDeprecated(const Aws::Utils::Xml::XmlNode& xmlNode); - QueueConfigurationDeprecated& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API QueueConfigurationDeprecated(); + AWS_S3_API QueueConfigurationDeprecated(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API QueueConfigurationDeprecated& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; @@ -160,13 +160,13 @@ namespace Model private: Aws::String m_id; - bool m_idHasBeenSet; + bool m_idHasBeenSet = false; Aws::Vector<Event> m_events; - bool m_eventsHasBeenSet; + bool m_eventsHasBeenSet = false; Aws::String m_queue; - bool m_queueHasBeenSet; + bool m_queueHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RecordsEvent.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RecordsEvent.h index 30ef211adb..345c0426e2 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RecordsEvent.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RecordsEvent.h @@ -19,11 +19,11 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RecordsEvent">AWS API * Reference</a></p> */ - class AWS_S3_API RecordsEvent + class RecordsEvent { public: - RecordsEvent() = default; - RecordsEvent(Aws::Vector<unsigned char>&& value) { m_payload = std::move(value); } + AWS_S3_API RecordsEvent() = default; + AWS_S3_API RecordsEvent(Aws::Vector<unsigned char>&& value) { m_payload = std::move(value); } /** * <p>The byte array of partial, one or more result records.</p> @@ -58,7 +58,7 @@ namespace Model private: Aws::Vector<unsigned char> m_payload; - bool m_payloadHasBeenSet; + bool m_payloadHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Redirect.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Redirect.h index 3a21bec482..a974475fe4 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Redirect.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Redirect.h @@ -29,14 +29,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Redirect">AWS API * Reference</a></p> */ - class AWS_S3_API Redirect + class Redirect { public: - Redirect(); - Redirect(const Aws::Utils::Xml::XmlNode& xmlNode); - Redirect& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Redirect(); + AWS_S3_API Redirect(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Redirect& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -386,19 +386,19 @@ namespace Model private: Aws::String m_hostName; - bool m_hostNameHasBeenSet; + bool m_hostNameHasBeenSet = false; Aws::String m_httpRedirectCode; - bool m_httpRedirectCodeHasBeenSet; + bool m_httpRedirectCodeHasBeenSet = false; Protocol m_protocol; - bool m_protocolHasBeenSet; + bool m_protocolHasBeenSet = false; Aws::String m_replaceKeyPrefixWith; - bool m_replaceKeyPrefixWithHasBeenSet; + bool m_replaceKeyPrefixWithHasBeenSet = false; Aws::String m_replaceKeyWith; - bool m_replaceKeyWithHasBeenSet; + bool m_replaceKeyWithHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RedirectAllRequestsTo.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RedirectAllRequestsTo.h index 73d5a96f6d..b704f28bf1 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RedirectAllRequestsTo.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RedirectAllRequestsTo.h @@ -29,14 +29,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RedirectAllRequestsTo">AWS * API Reference</a></p> */ - class AWS_S3_API RedirectAllRequestsTo + class RedirectAllRequestsTo { public: - RedirectAllRequestsTo(); - RedirectAllRequestsTo(const Aws::Utils::Xml::XmlNode& xmlNode); - RedirectAllRequestsTo& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API RedirectAllRequestsTo(); + AWS_S3_API RedirectAllRequestsTo(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API RedirectAllRequestsTo& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -119,10 +119,10 @@ namespace Model private: Aws::String m_hostName; - bool m_hostNameHasBeenSet; + bool m_hostNameHasBeenSet = false; Protocol m_protocol; - bool m_protocolHasBeenSet; + bool m_protocolHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicaModifications.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicaModifications.h index e9685d6258..f8b35fc69c 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicaModifications.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicaModifications.h @@ -34,14 +34,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicaModifications">AWS * API Reference</a></p> */ - class AWS_S3_API ReplicaModifications + class ReplicaModifications { public: - ReplicaModifications(); - ReplicaModifications(const Aws::Utils::Xml::XmlNode& xmlNode); - ReplicaModifications& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ReplicaModifications(); + AWS_S3_API ReplicaModifications(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ReplicaModifications& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -77,7 +77,7 @@ namespace Model private: ReplicaModificationsStatus m_status; - bool m_statusHasBeenSet; + bool m_statusHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationConfiguration.h index e138c79cba..9ce58fd351 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationConfiguration.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationConfiguration.h @@ -30,83 +30,83 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicationConfiguration">AWS * API Reference</a></p> */ - class AWS_S3_API ReplicationConfiguration + class ReplicationConfiguration { public: - ReplicationConfiguration(); - ReplicationConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); - ReplicationConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ReplicationConfiguration(); + AWS_S3_API ReplicationConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ReplicationConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** - * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management - * (IAM) role that Amazon S3 assumes when replicating objects. For more - * information, see <a + * <p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + * role that Amazon S3 assumes when replicating objects. For more information, see + * <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html">How * to Set Up Replication</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetRole() const{ return m_role; } /** - * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management - * (IAM) role that Amazon S3 assumes when replicating objects. For more - * information, see <a + * <p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + * role that Amazon S3 assumes when replicating objects. For more information, see + * <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html">How * to Set Up Replication</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool RoleHasBeenSet() const { return m_roleHasBeenSet; } /** - * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management - * (IAM) role that Amazon S3 assumes when replicating objects. For more - * information, see <a + * <p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + * role that Amazon S3 assumes when replicating objects. For more information, see + * <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html">How * to Set Up Replication</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetRole(const Aws::String& value) { m_roleHasBeenSet = true; m_role = value; } /** - * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management - * (IAM) role that Amazon S3 assumes when replicating objects. For more - * information, see <a + * <p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + * role that Amazon S3 assumes when replicating objects. For more information, see + * <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html">How * to Set Up Replication</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetRole(Aws::String&& value) { m_roleHasBeenSet = true; m_role = std::move(value); } /** - * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management - * (IAM) role that Amazon S3 assumes when replicating objects. For more - * information, see <a + * <p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + * role that Amazon S3 assumes when replicating objects. For more information, see + * <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html">How * to Set Up Replication</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetRole(const char* value) { m_roleHasBeenSet = true; m_role.assign(value); } /** - * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management - * (IAM) role that Amazon S3 assumes when replicating objects. For more - * information, see <a + * <p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + * role that Amazon S3 assumes when replicating objects. For more information, see + * <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html">How * to Set Up Replication</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline ReplicationConfiguration& WithRole(const Aws::String& value) { SetRole(value); return *this;} /** - * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management - * (IAM) role that Amazon S3 assumes when replicating objects. For more - * information, see <a + * <p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + * role that Amazon S3 assumes when replicating objects. For more information, see + * <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html">How * to Set Up Replication</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline ReplicationConfiguration& WithRole(Aws::String&& value) { SetRole(std::move(value)); return *this;} /** - * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management - * (IAM) role that Amazon S3 assumes when replicating objects. For more - * information, see <a + * <p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + * role that Amazon S3 assumes when replicating objects. For more information, see + * <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html">How * to Set Up Replication</a> in the <i>Amazon S3 User Guide</i>.</p> */ @@ -164,10 +164,10 @@ namespace Model private: Aws::String m_role; - bool m_roleHasBeenSet; + bool m_roleHasBeenSet = false; Aws::Vector<ReplicationRule> m_rules; - bool m_rulesHasBeenSet; + bool m_rulesHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRule.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRule.h index 2003426a67..e9d85afdd3 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRule.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRule.h @@ -34,14 +34,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicationRule">AWS * API Reference</a></p> */ - class AWS_S3_API ReplicationRule + class ReplicationRule { public: - ReplicationRule(); - ReplicationRule(const Aws::Utils::Xml::XmlNode& xmlNode); - ReplicationRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ReplicationRule(); + AWS_S3_API ReplicationRule(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ReplicationRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -189,7 +189,7 @@ namespace Model * objects that you want to replicate. You can choose to enable or disable the * replication of these objects. Currently, Amazon S3 supports only the filter that * you can specify for objects created with server-side encryption using a customer - * master key (CMK) stored in AWS Key Management Service (SSE-KMS).</p> + * managed key stored in Amazon Web Services Key Management Service (SSE-KMS).</p> */ inline const SourceSelectionCriteria& GetSourceSelectionCriteria() const{ return m_sourceSelectionCriteria; } @@ -198,7 +198,7 @@ namespace Model * objects that you want to replicate. You can choose to enable or disable the * replication of these objects. Currently, Amazon S3 supports only the filter that * you can specify for objects created with server-side encryption using a customer - * master key (CMK) stored in AWS Key Management Service (SSE-KMS).</p> + * managed key stored in Amazon Web Services Key Management Service (SSE-KMS).</p> */ inline bool SourceSelectionCriteriaHasBeenSet() const { return m_sourceSelectionCriteriaHasBeenSet; } @@ -207,7 +207,7 @@ namespace Model * objects that you want to replicate. You can choose to enable or disable the * replication of these objects. Currently, Amazon S3 supports only the filter that * you can specify for objects created with server-side encryption using a customer - * master key (CMK) stored in AWS Key Management Service (SSE-KMS).</p> + * managed key stored in Amazon Web Services Key Management Service (SSE-KMS).</p> */ inline void SetSourceSelectionCriteria(const SourceSelectionCriteria& value) { m_sourceSelectionCriteriaHasBeenSet = true; m_sourceSelectionCriteria = value; } @@ -216,7 +216,7 @@ namespace Model * objects that you want to replicate. You can choose to enable or disable the * replication of these objects. Currently, Amazon S3 supports only the filter that * you can specify for objects created with server-side encryption using a customer - * master key (CMK) stored in AWS Key Management Service (SSE-KMS).</p> + * managed key stored in Amazon Web Services Key Management Service (SSE-KMS).</p> */ inline void SetSourceSelectionCriteria(SourceSelectionCriteria&& value) { m_sourceSelectionCriteriaHasBeenSet = true; m_sourceSelectionCriteria = std::move(value); } @@ -225,7 +225,7 @@ namespace Model * objects that you want to replicate. You can choose to enable or disable the * replication of these objects. Currently, Amazon S3 supports only the filter that * you can specify for objects created with server-side encryption using a customer - * master key (CMK) stored in AWS Key Management Service (SSE-KMS).</p> + * managed key stored in Amazon Web Services Key Management Service (SSE-KMS).</p> */ inline ReplicationRule& WithSourceSelectionCriteria(const SourceSelectionCriteria& value) { SetSourceSelectionCriteria(value); return *this;} @@ -234,7 +234,7 @@ namespace Model * objects that you want to replicate. You can choose to enable or disable the * replication of these objects. Currently, Amazon S3 supports only the filter that * you can specify for objects created with server-side encryption using a customer - * master key (CMK) stored in AWS Key Management Service (SSE-KMS).</p> + * managed key stored in Amazon Web Services Key Management Service (SSE-KMS).</p> */ inline ReplicationRule& WithSourceSelectionCriteria(SourceSelectionCriteria&& value) { SetSourceSelectionCriteria(std::move(value)); return *this;} @@ -328,28 +328,28 @@ namespace Model private: Aws::String m_iD; - bool m_iDHasBeenSet; + bool m_iDHasBeenSet = false; int m_priority; - bool m_priorityHasBeenSet; + bool m_priorityHasBeenSet = false; ReplicationRuleFilter m_filter; - bool m_filterHasBeenSet; + bool m_filterHasBeenSet = false; ReplicationRuleStatus m_status; - bool m_statusHasBeenSet; + bool m_statusHasBeenSet = false; SourceSelectionCriteria m_sourceSelectionCriteria; - bool m_sourceSelectionCriteriaHasBeenSet; + bool m_sourceSelectionCriteriaHasBeenSet = false; ExistingObjectReplication m_existingObjectReplication; - bool m_existingObjectReplicationHasBeenSet; + bool m_existingObjectReplicationHasBeenSet = false; Destination m_destination; - bool m_destinationHasBeenSet; + bool m_destinationHasBeenSet = false; DeleteMarkerReplication m_deleteMarkerReplication; - bool m_deleteMarkerReplicationHasBeenSet; + bool m_deleteMarkerReplicationHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRuleAndOperator.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRuleAndOperator.h index bf78d3af98..f19f496f5c 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRuleAndOperator.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRuleAndOperator.h @@ -35,14 +35,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicationRuleAndOperator">AWS * API Reference</a></p> */ - class AWS_S3_API ReplicationRuleAndOperator + class ReplicationRuleAndOperator { public: - ReplicationRuleAndOperator(); - ReplicationRuleAndOperator(const Aws::Utils::Xml::XmlNode& xmlNode); - ReplicationRuleAndOperator& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ReplicationRuleAndOperator(); + AWS_S3_API ReplicationRuleAndOperator(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ReplicationRuleAndOperator& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -137,10 +137,10 @@ namespace Model private: Aws::String m_prefix; - bool m_prefixHasBeenSet; + bool m_prefixHasBeenSet = false; Aws::Vector<Tag> m_tags; - bool m_tagsHasBeenSet; + bool m_tagsHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRuleFilter.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRuleFilter.h index 630c385d9e..8d64d1cdd1 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRuleFilter.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRuleFilter.h @@ -32,14 +32,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicationRuleFilter">AWS * API Reference</a></p> */ - class AWS_S3_API ReplicationRuleFilter + class ReplicationRuleFilter { public: - ReplicationRuleFilter(); - ReplicationRuleFilter(const Aws::Utils::Xml::XmlNode& xmlNode); - ReplicationRuleFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ReplicationRuleFilter(); + AWS_S3_API ReplicationRuleFilter(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ReplicationRuleFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -229,13 +229,13 @@ namespace Model private: Aws::String m_prefix; - bool m_prefixHasBeenSet; + bool m_prefixHasBeenSet = false; Tag m_tag; - bool m_tagHasBeenSet; + bool m_tagHasBeenSet = false; ReplicationRuleAndOperator m_and; - bool m_andHasBeenSet; + bool m_andHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationTime.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationTime.h index fa5cfd6008..80a05eba50 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationTime.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationTime.h @@ -31,14 +31,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicationTime">AWS * API Reference</a></p> */ - class AWS_S3_API ReplicationTime + class ReplicationTime { public: - ReplicationTime(); - ReplicationTime(const Aws::Utils::Xml::XmlNode& xmlNode); - ReplicationTime& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ReplicationTime(); + AWS_S3_API ReplicationTime(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ReplicationTime& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -111,10 +111,10 @@ namespace Model private: ReplicationTimeStatus m_status; - bool m_statusHasBeenSet; + bool m_statusHasBeenSet = false; ReplicationTimeValue m_time; - bool m_timeHasBeenSet; + bool m_timeHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationTimeValue.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationTimeValue.h index 846b5f88b9..eaabfecc7b 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationTimeValue.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationTimeValue.h @@ -27,44 +27,40 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicationTimeValue">AWS * API Reference</a></p> */ - class AWS_S3_API ReplicationTimeValue + class ReplicationTimeValue { public: - ReplicationTimeValue(); - ReplicationTimeValue(const Aws::Utils::Xml::XmlNode& xmlNode); - ReplicationTimeValue& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ReplicationTimeValue(); + AWS_S3_API ReplicationTimeValue(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ReplicationTimeValue& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** - * <p> Contains an integer specifying time in minutes. </p> <p> Valid values: 15 - * minutes. </p> + * <p> Contains an integer specifying time in minutes. </p> <p> Valid value: 15</p> */ inline int GetMinutes() const{ return m_minutes; } /** - * <p> Contains an integer specifying time in minutes. </p> <p> Valid values: 15 - * minutes. </p> + * <p> Contains an integer specifying time in minutes. </p> <p> Valid value: 15</p> */ inline bool MinutesHasBeenSet() const { return m_minutesHasBeenSet; } /** - * <p> Contains an integer specifying time in minutes. </p> <p> Valid values: 15 - * minutes. </p> + * <p> Contains an integer specifying time in minutes. </p> <p> Valid value: 15</p> */ inline void SetMinutes(int value) { m_minutesHasBeenSet = true; m_minutes = value; } /** - * <p> Contains an integer specifying time in minutes. </p> <p> Valid values: 15 - * minutes. </p> + * <p> Contains an integer specifying time in minutes. </p> <p> Valid value: 15</p> */ inline ReplicationTimeValue& WithMinutes(int value) { SetMinutes(value); return *this;} private: int m_minutes; - bool m_minutesHasBeenSet; + bool m_minutesHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RequestPaymentConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RequestPaymentConfiguration.h index 72861dbe7b..b6c5bc4789 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RequestPaymentConfiguration.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RequestPaymentConfiguration.h @@ -27,14 +27,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RequestPaymentConfiguration">AWS * API Reference</a></p> */ - class AWS_S3_API RequestPaymentConfiguration + class RequestPaymentConfiguration { public: - RequestPaymentConfiguration(); - RequestPaymentConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); - RequestPaymentConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API RequestPaymentConfiguration(); + AWS_S3_API RequestPaymentConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API RequestPaymentConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -70,7 +70,7 @@ namespace Model private: Payer m_payer; - bool m_payerHasBeenSet; + bool m_payerHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RequestProgress.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RequestProgress.h index 717ad47c6f..b4a08d0a7c 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RequestProgress.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RequestProgress.h @@ -26,14 +26,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RequestProgress">AWS * API Reference</a></p> */ - class AWS_S3_API RequestProgress + class RequestProgress { public: - RequestProgress(); - RequestProgress(const Aws::Utils::Xml::XmlNode& xmlNode); - RequestProgress& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API RequestProgress(); + AWS_S3_API RequestProgress(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API RequestProgress& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -63,7 +63,7 @@ namespace Model private: bool m_enabled; - bool m_enabledHasBeenSet; + bool m_enabledHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreObjectRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreObjectRequest.h index f588c84270..05e08111be 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreObjectRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreObjectRequest.h @@ -9,6 +9,7 @@ #include <aws/core/utils/memory/stl/AWSString.h> #include <aws/s3/model/RestoreRequest.h> #include <aws/s3/model/RequestPayer.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <aws/core/utils/memory/stl/AWSMap.h> #include <utility> @@ -25,10 +26,10 @@ namespace Model /** */ - class AWS_S3_API RestoreObjectRequest : public S3Request + class RestoreObjectRequest : public S3Request { public: - RestoreObjectRequest(); + AWS_S3_API RestoreObjectRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -36,31 +37,37 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "RestoreObject"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::String GetChecksumAlgorithmName() const override; + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name containing the object to restore. </p> <p>When using this * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } @@ -69,19 +76,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } @@ -90,19 +97,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } @@ -111,19 +118,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } @@ -132,19 +139,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } @@ -153,19 +160,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline RestoreObjectRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} @@ -174,19 +181,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline RestoreObjectRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} @@ -195,19 +202,19 @@ namespace Model * action with an access point, you must direct requests to the access point * hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline RestoreObjectRequest& WithBucket(const char* value) { SetBucket(value); return *this;} @@ -333,58 +340,143 @@ namespace Model /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline RestoreObjectRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> + */ + inline RestoreObjectRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + + /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline RestoreObjectRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline RestoreObjectRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline RestoreObjectRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -431,25 +523,28 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; Aws::String m_versionId; - bool m_versionIdHasBeenSet; + bool m_versionIdHasBeenSet = false; RestoreRequest m_restoreRequest; - bool m_restoreRequestHasBeenSet; + bool m_restoreRequestHasBeenSet = false; RequestPayer m_requestPayer; - bool m_requestPayerHasBeenSet; + bool m_requestPayerHasBeenSet = false; + + ChecksumAlgorithm m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreObjectResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreObjectResult.h index 2cadd53189..703a41037b 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreObjectResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreObjectResult.h @@ -25,12 +25,12 @@ namespace S3 { namespace Model { - class AWS_S3_API RestoreObjectResult + class RestoreObjectResult { public: - RestoreObjectResult(); - RestoreObjectResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - RestoreObjectResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API RestoreObjectResult(); + AWS_S3_API RestoreObjectResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API RestoreObjectResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreRequest.h index f2460fbc85..9324a713ad 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreRequest.h @@ -32,14 +32,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreRequest">AWS * API Reference</a></p> */ - class AWS_S3_API RestoreRequest + class RestoreRequest { public: - RestoreRequest(); - RestoreRequest(const Aws::Utils::Xml::XmlNode& xmlNode); - RestoreRequest& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API RestoreRequest(); + AWS_S3_API RestoreRequest(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API RestoreRequest& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -275,25 +275,25 @@ namespace Model private: int m_days; - bool m_daysHasBeenSet; + bool m_daysHasBeenSet = false; GlacierJobParameters m_glacierJobParameters; - bool m_glacierJobParametersHasBeenSet; + bool m_glacierJobParametersHasBeenSet = false; RestoreRequestType m_type; - bool m_typeHasBeenSet; + bool m_typeHasBeenSet = false; Tier m_tier; - bool m_tierHasBeenSet; + bool m_tierHasBeenSet = false; Aws::String m_description; - bool m_descriptionHasBeenSet; + bool m_descriptionHasBeenSet = false; SelectParameters m_selectParameters; - bool m_selectParametersHasBeenSet; + bool m_selectParametersHasBeenSet = false; OutputLocation m_outputLocation; - bool m_outputLocationHasBeenSet; + bool m_outputLocationHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RoutingRule.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RoutingRule.h index e87bdb7958..127ad69117 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RoutingRule.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RoutingRule.h @@ -32,14 +32,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RoutingRule">AWS API * Reference</a></p> */ - class AWS_S3_API RoutingRule + class RoutingRule { public: - RoutingRule(); - RoutingRule(const Aws::Utils::Xml::XmlNode& xmlNode); - RoutingRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API RoutingRule(); + AWS_S3_API RoutingRule(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API RoutingRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -142,10 +142,10 @@ namespace Model private: Condition m_condition; - bool m_conditionHasBeenSet; + bool m_conditionHasBeenSet = false; Redirect m_redirect; - bool m_redirectHasBeenSet; + bool m_redirectHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Rule.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Rule.h index 7613ef3226..d0065042f3 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Rule.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Rule.h @@ -32,21 +32,21 @@ namespace Model * <p>Specifies lifecycle rules for an Amazon S3 bucket. For more information, see * <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html">Put - * Bucket Lifecycle Configuration</a> in the <i>Amazon Simple Storage Service API - * Reference</i>. For examples, see <a + * Bucket Lifecycle Configuration</a> in the <i>Amazon S3 API Reference</i>. For + * examples, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html#API_PutBucketLifecycleConfiguration_Examples">Put * Bucket Lifecycle Configuration Examples</a>.</p><p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Rule">AWS API * Reference</a></p> */ - class AWS_S3_API Rule + class Rule { public: - Rule(); - Rule(const Aws::Utils::Xml::XmlNode& xmlNode); - Rule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Rule(); + AWS_S3_API Rule(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Rule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -355,28 +355,28 @@ namespace Model private: LifecycleExpiration m_expiration; - bool m_expirationHasBeenSet; + bool m_expirationHasBeenSet = false; Aws::String m_iD; - bool m_iDHasBeenSet; + bool m_iDHasBeenSet = false; Aws::String m_prefix; - bool m_prefixHasBeenSet; + bool m_prefixHasBeenSet = false; ExpirationStatus m_status; - bool m_statusHasBeenSet; + bool m_statusHasBeenSet = false; Transition m_transition; - bool m_transitionHasBeenSet; + bool m_transitionHasBeenSet = false; NoncurrentVersionTransition m_noncurrentVersionTransition; - bool m_noncurrentVersionTransitionHasBeenSet; + bool m_noncurrentVersionTransitionHasBeenSet = false; NoncurrentVersionExpiration m_noncurrentVersionExpiration; - bool m_noncurrentVersionExpirationHasBeenSet; + bool m_noncurrentVersionExpirationHasBeenSet = false; AbortIncompleteMultipartUpload m_abortIncompleteMultipartUpload; - bool m_abortIncompleteMultipartUploadHasBeenSet; + bool m_abortIncompleteMultipartUploadHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/S3KeyFilter.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/S3KeyFilter.h index 0f22a9524e..de9827621b 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/S3KeyFilter.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/S3KeyFilter.h @@ -29,14 +29,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/S3KeyFilter">AWS API * Reference</a></p> */ - class AWS_S3_API S3KeyFilter + class S3KeyFilter { public: - S3KeyFilter(); - S3KeyFilter(const Aws::Utils::Xml::XmlNode& xmlNode); - S3KeyFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API S3KeyFilter(); + AWS_S3_API S3KeyFilter(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API S3KeyFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; @@ -66,7 +66,7 @@ namespace Model private: Aws::Vector<FilterRule> m_filterRules; - bool m_filterRulesHasBeenSet; + bool m_filterRulesHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/S3Location.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/S3Location.h index 8f0eab338b..a2614cc2c8 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/S3Location.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/S3Location.h @@ -35,14 +35,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/S3Location">AWS API * Reference</a></p> */ - class AWS_S3_API S3Location + class S3Location { public: - S3Location(); - S3Location(const Aws::Utils::Xml::XmlNode& xmlNode); - S3Location& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API S3Location(); + AWS_S3_API S3Location(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API S3Location& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -323,28 +323,28 @@ namespace Model private: Aws::String m_bucketName; - bool m_bucketNameHasBeenSet; + bool m_bucketNameHasBeenSet = false; Aws::String m_prefix; - bool m_prefixHasBeenSet; + bool m_prefixHasBeenSet = false; Encryption m_encryption; - bool m_encryptionHasBeenSet; + bool m_encryptionHasBeenSet = false; ObjectCannedACL m_cannedACL; - bool m_cannedACLHasBeenSet; + bool m_cannedACLHasBeenSet = false; Aws::Vector<Grant> m_accessControlList; - bool m_accessControlListHasBeenSet; + bool m_accessControlListHasBeenSet = false; Tagging m_tagging; - bool m_taggingHasBeenSet; + bool m_taggingHasBeenSet = false; Aws::Vector<MetadataEntry> m_userMetadata; - bool m_userMetadataHasBeenSet; + bool m_userMetadataHasBeenSet = false; StorageClass m_storageClass; - bool m_storageClassHasBeenSet; + bool m_storageClassHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SSEKMS.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SSEKMS.h index b7b1ac25be..eaae8f2319 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SSEKMS.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SSEKMS.h @@ -28,68 +28,68 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SSEKMS">AWS API * Reference</a></p> */ - class AWS_S3_API SSEKMS + class SSEKMS { public: - SSEKMS(); - SSEKMS(const Aws::Utils::Xml::XmlNode& xmlNode); - SSEKMS& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API SSEKMS(); + AWS_S3_API SSEKMS(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API SSEKMS& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** - * <p>Specifies the ID of the AWS Key Management Service (AWS KMS) symmetric - * customer managed customer master key (CMK) to use for encrypting inventory + * <p>Specifies the ID of the Amazon Web Services Key Management Service (Amazon + * Web Services KMS) symmetric customer managed key to use for encrypting inventory * reports.</p> */ inline const Aws::String& GetKeyId() const{ return m_keyId; } /** - * <p>Specifies the ID of the AWS Key Management Service (AWS KMS) symmetric - * customer managed customer master key (CMK) to use for encrypting inventory + * <p>Specifies the ID of the Amazon Web Services Key Management Service (Amazon + * Web Services KMS) symmetric customer managed key to use for encrypting inventory * reports.</p> */ inline bool KeyIdHasBeenSet() const { return m_keyIdHasBeenSet; } /** - * <p>Specifies the ID of the AWS Key Management Service (AWS KMS) symmetric - * customer managed customer master key (CMK) to use for encrypting inventory + * <p>Specifies the ID of the Amazon Web Services Key Management Service (Amazon + * Web Services KMS) symmetric customer managed key to use for encrypting inventory * reports.</p> */ inline void SetKeyId(const Aws::String& value) { m_keyIdHasBeenSet = true; m_keyId = value; } /** - * <p>Specifies the ID of the AWS Key Management Service (AWS KMS) symmetric - * customer managed customer master key (CMK) to use for encrypting inventory + * <p>Specifies the ID of the Amazon Web Services Key Management Service (Amazon + * Web Services KMS) symmetric customer managed key to use for encrypting inventory * reports.</p> */ inline void SetKeyId(Aws::String&& value) { m_keyIdHasBeenSet = true; m_keyId = std::move(value); } /** - * <p>Specifies the ID of the AWS Key Management Service (AWS KMS) symmetric - * customer managed customer master key (CMK) to use for encrypting inventory + * <p>Specifies the ID of the Amazon Web Services Key Management Service (Amazon + * Web Services KMS) symmetric customer managed key to use for encrypting inventory * reports.</p> */ inline void SetKeyId(const char* value) { m_keyIdHasBeenSet = true; m_keyId.assign(value); } /** - * <p>Specifies the ID of the AWS Key Management Service (AWS KMS) symmetric - * customer managed customer master key (CMK) to use for encrypting inventory + * <p>Specifies the ID of the Amazon Web Services Key Management Service (Amazon + * Web Services KMS) symmetric customer managed key to use for encrypting inventory * reports.</p> */ inline SSEKMS& WithKeyId(const Aws::String& value) { SetKeyId(value); return *this;} /** - * <p>Specifies the ID of the AWS Key Management Service (AWS KMS) symmetric - * customer managed customer master key (CMK) to use for encrypting inventory + * <p>Specifies the ID of the Amazon Web Services Key Management Service (Amazon + * Web Services KMS) symmetric customer managed key to use for encrypting inventory * reports.</p> */ inline SSEKMS& WithKeyId(Aws::String&& value) { SetKeyId(std::move(value)); return *this;} /** - * <p>Specifies the ID of the AWS Key Management Service (AWS KMS) symmetric - * customer managed customer master key (CMK) to use for encrypting inventory + * <p>Specifies the ID of the Amazon Web Services Key Management Service (Amazon + * Web Services KMS) symmetric customer managed key to use for encrypting inventory * reports.</p> */ inline SSEKMS& WithKeyId(const char* value) { SetKeyId(value); return *this;} @@ -97,7 +97,7 @@ namespace Model private: Aws::String m_keyId; - bool m_keyIdHasBeenSet; + bool m_keyIdHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SSES3.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SSES3.h index 7312fd2917..3311fc7879 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SSES3.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SSES3.h @@ -26,14 +26,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SSES3">AWS API * Reference</a></p> */ - class AWS_S3_API SSES3 + class SSES3 { public: - SSES3(); - SSES3(const Aws::Utils::Xml::XmlNode& xmlNode); - SSES3& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API SSES3(); + AWS_S3_API SSES3(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API SSES3& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; }; diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ScanRange.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ScanRange.h index dd964d0441..9daee6c68d 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ScanRange.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ScanRange.h @@ -29,20 +29,21 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ScanRange">AWS API * Reference</a></p> */ - class AWS_S3_API ScanRange + class ScanRange { public: - ScanRange(); - ScanRange(const Aws::Utils::Xml::XmlNode& xmlNode); - ScanRange& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ScanRange(); + AWS_S3_API ScanRange(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ScanRange& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** * <p>Specifies the start of the byte range. This parameter is optional. Valid - * values: non-negative integers. The default value is 0. If only start is - * supplied, it means scan from that point to the end of the file.For example; + * values: non-negative integers. The default value is 0. If only + * <code>start</code> is supplied, it means scan from that point to the end of the + * file. For example, * <code><scanrange><start>50</start></scanrange></code> * means scan from byte 50 until the end of the file.</p> */ @@ -50,8 +51,9 @@ namespace Model /** * <p>Specifies the start of the byte range. This parameter is optional. Valid - * values: non-negative integers. The default value is 0. If only start is - * supplied, it means scan from that point to the end of the file.For example; + * values: non-negative integers. The default value is 0. If only + * <code>start</code> is supplied, it means scan from that point to the end of the + * file. For example, * <code><scanrange><start>50</start></scanrange></code> * means scan from byte 50 until the end of the file.</p> */ @@ -59,8 +61,9 @@ namespace Model /** * <p>Specifies the start of the byte range. This parameter is optional. Valid - * values: non-negative integers. The default value is 0. If only start is - * supplied, it means scan from that point to the end of the file.For example; + * values: non-negative integers. The default value is 0. If only + * <code>start</code> is supplied, it means scan from that point to the end of the + * file. For example, * <code><scanrange><start>50</start></scanrange></code> * means scan from byte 50 until the end of the file.</p> */ @@ -68,8 +71,9 @@ namespace Model /** * <p>Specifies the start of the byte range. This parameter is optional. Valid - * values: non-negative integers. The default value is 0. If only start is - * supplied, it means scan from that point to the end of the file.For example; + * values: non-negative integers. The default value is 0. If only + * <code>start</code> is supplied, it means scan from that point to the end of the + * file. For example, * <code><scanrange><start>50</start></scanrange></code> * means scan from byte 50 until the end of the file.</p> */ @@ -119,10 +123,10 @@ namespace Model private: long long m_start; - bool m_startHasBeenSet; + bool m_startHasBeenSet = false; long long m_end; - bool m_endHasBeenSet; + bool m_endHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentHandler.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentHandler.h index 508785ba3b..6abef89df7 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentHandler.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentHandler.h @@ -30,7 +30,7 @@ namespace Model UNKNOWN }; - class AWS_S3_API SelectObjectContentHandler : public Aws::Utils::Event::EventStreamHandler + class SelectObjectContentHandler : public Aws::Utils::Event::EventStreamHandler { typedef std::function<void(const RecordsEvent&)> RecordsEventCallback; typedef std::function<void(const StatsEvent&)> StatsEventCallback; @@ -40,10 +40,10 @@ namespace Model typedef std::function<void(const Aws::Client::AWSError<S3Errors>& error)> ErrorCallback; public: - SelectObjectContentHandler(); - SelectObjectContentHandler& operator=(const SelectObjectContentHandler&) = default; + AWS_S3_API SelectObjectContentHandler(); + AWS_S3_API SelectObjectContentHandler& operator=(const SelectObjectContentHandler&) = default; - virtual void OnEvent() override; + AWS_S3_API virtual void OnEvent() override; inline void SetRecordsEventCallback(const RecordsEventCallback& callback) { m_onRecordsEvent = callback; } inline void SetStatsEventCallback(const StatsEventCallback& callback) { m_onStatsEvent = callback; } @@ -53,9 +53,9 @@ namespace Model inline void SetOnErrorCallback(const ErrorCallback& callback) { m_onError = callback; } private: - void HandleEventInMessage(); - void HandleErrorInMessage(); - void MarshallError(const Aws::String& errorCode, const Aws::String& errorMessage); + AWS_S3_API void HandleEventInMessage(); + AWS_S3_API void HandleErrorInMessage(); + AWS_S3_API void MarshallError(const Aws::String& errorCode, const Aws::String& errorMessage); RecordsEventCallback m_onRecordsEvent; StatsEventCallback m_onStatsEvent; diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentRequest.h index 73dc58023f..6d032445ef 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentRequest.h @@ -40,10 +40,10 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContentRequest">AWS * API Reference</a></p> */ - class AWS_S3_API SelectObjectContentRequest : public S3Request + class SelectObjectContentRequest : public S3Request { public: - SelectObjectContentRequest(); + AWS_S3_API SelectObjectContentRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -51,11 +51,11 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "SelectObjectContent"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** * Underlying Event Stream Decoder. @@ -77,6 +77,10 @@ namespace Model */ inline SelectObjectContentRequest& WithEventStreamHandler(const SelectObjectContentHandler& value) { SetEventStreamHandler(value); return *this; } + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The S3 bucket.</p> @@ -161,172 +165,220 @@ namespace Model /** - * <p>The SSE Algorithm used to encrypt the object. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This + * parameter is needed only when the object was created using a checksum algorithm. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; } /** - * <p>The SSE Algorithm used to encrypt the object. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This + * parameter is needed only when the object was created using a checksum algorithm. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool SSECustomerAlgorithmHasBeenSet() const { return m_sSECustomerAlgorithmHasBeenSet; } /** - * <p>The SSE Algorithm used to encrypt the object. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This + * parameter is needed only when the object was created using a checksum algorithm. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = value; } /** - * <p>The SSE Algorithm used to encrypt the object. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This + * parameter is needed only when the object was created using a checksum algorithm. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = std::move(value); } /** - * <p>The SSE Algorithm used to encrypt the object. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This + * parameter is needed only when the object was created using a checksum algorithm. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm.assign(value); } /** - * <p>The SSE Algorithm used to encrypt the object. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This + * parameter is needed only when the object was created using a checksum algorithm. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline SelectObjectContentRequest& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;} /** - * <p>The SSE Algorithm used to encrypt the object. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This + * parameter is needed only when the object was created using a checksum algorithm. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline SelectObjectContentRequest& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;} /** - * <p>The SSE Algorithm used to encrypt the object. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This + * parameter is needed only when the object was created using a checksum algorithm. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline SelectObjectContentRequest& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;} /** - * <p>The SSE Customer Key. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + * <p>The server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetSSECustomerKey() const{ return m_sSECustomerKey; } /** - * <p>The SSE Customer Key. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + * <p>The server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool SSECustomerKeyHasBeenSet() const { return m_sSECustomerKeyHasBeenSet; } /** - * <p>The SSE Customer Key. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + * <p>The server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetSSECustomerKey(const Aws::String& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = value; } /** - * <p>The SSE Customer Key. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + * <p>The server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetSSECustomerKey(Aws::String&& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = std::move(value); } /** - * <p>The SSE Customer Key. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + * <p>The server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetSSECustomerKey(const char* value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey.assign(value); } /** - * <p>The SSE Customer Key. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + * <p>The server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline SelectObjectContentRequest& WithSSECustomerKey(const Aws::String& value) { SetSSECustomerKey(value); return *this;} /** - * <p>The SSE Customer Key. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + * <p>The server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline SelectObjectContentRequest& WithSSECustomerKey(Aws::String&& value) { SetSSECustomerKey(std::move(value)); return *this;} /** - * <p>The SSE Customer Key. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + * <p>The server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline SelectObjectContentRequest& WithSSECustomerKey(const char* value) { SetSSECustomerKey(value); return *this;} /** - * <p>The SSE Customer Key MD5. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; } /** - * <p>The SSE Customer Key MD5. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool SSECustomerKeyMD5HasBeenSet() const { return m_sSECustomerKeyMD5HasBeenSet; } /** - * <p>The SSE Customer Key MD5. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = value; } /** - * <p>The SSE Customer Key MD5. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = std::move(value); } /** - * <p>The SSE Customer Key MD5. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5.assign(value); } /** - * <p>The SSE Customer Key MD5. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline SelectObjectContentRequest& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;} /** - * <p>The SSE Customer Key MD5. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline SelectObjectContentRequest& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;} /** - * <p>The SSE Customer Key MD5. For more information, see <a - * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side - * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is + * needed only when the object was created using a checksum algorithm. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting + * data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline SelectObjectContentRequest& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;} @@ -601,57 +653,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline SelectObjectContentRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline SelectObjectContentRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline SelectObjectContentRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -698,45 +750,45 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; Aws::String m_sSECustomerAlgorithm; - bool m_sSECustomerAlgorithmHasBeenSet; + bool m_sSECustomerAlgorithmHasBeenSet = false; Aws::String m_sSECustomerKey; - bool m_sSECustomerKeyHasBeenSet; + bool m_sSECustomerKeyHasBeenSet = false; Aws::String m_sSECustomerKeyMD5; - bool m_sSECustomerKeyMD5HasBeenSet; + bool m_sSECustomerKeyMD5HasBeenSet = false; Aws::String m_expression; - bool m_expressionHasBeenSet; + bool m_expressionHasBeenSet = false; ExpressionType m_expressionType; - bool m_expressionTypeHasBeenSet; + bool m_expressionTypeHasBeenSet = false; RequestProgress m_requestProgress; - bool m_requestProgressHasBeenSet; + bool m_requestProgressHasBeenSet = false; InputSerialization m_inputSerialization; - bool m_inputSerializationHasBeenSet; + bool m_inputSerializationHasBeenSet = false; OutputSerialization m_outputSerialization; - bool m_outputSerializationHasBeenSet; + bool m_outputSerializationHasBeenSet = false; ScanRange m_scanRange; - bool m_scanRangeHasBeenSet; + bool m_scanRangeHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; - Aws::Utils::Event::EventStreamDecoder m_decoder; + bool m_customizedAccessLogTagHasBeenSet = false; SelectObjectContentHandler m_handler; + Aws::Utils::Event::EventStreamDecoder m_decoder; }; diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectParameters.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectParameters.h index b9ddc3073d..450fabed41 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectParameters.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectParameters.h @@ -30,14 +30,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectParameters">AWS * API Reference</a></p> */ - class AWS_S3_API SelectParameters + class SelectParameters { public: - SelectParameters(); - SelectParameters(const Aws::Utils::Xml::XmlNode& xmlNode); - SelectParameters& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API SelectParameters(); + AWS_S3_API SelectParameters(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API SelectParameters& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -176,16 +176,16 @@ namespace Model private: InputSerialization m_inputSerialization; - bool m_inputSerializationHasBeenSet; + bool m_inputSerializationHasBeenSet = false; ExpressionType m_expressionType; - bool m_expressionTypeHasBeenSet; + bool m_expressionTypeHasBeenSet = false; Aws::String m_expression; - bool m_expressionHasBeenSet; + bool m_expressionHasBeenSet = false; OutputSerialization m_outputSerialization; - bool m_outputSerializationHasBeenSet; + bool m_outputSerializationHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryptionByDefault.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryptionByDefault.h index 273cb34fbe..69fc7b2dd7 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryptionByDefault.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryptionByDefault.h @@ -26,21 +26,25 @@ namespace Model /** * <p>Describes the default server-side encryption to apply to new objects in the * bucket. If a PUT Object request doesn't specify any server-side encryption, this - * default encryption will be applied. For more information, see <a + * default encryption will be applied. If you don't specify a customer managed key + * at configuration, Amazon S3 automatically creates an Amazon Web Services KMS key + * in your Amazon Web Services account the first time that you add an object + * encrypted with SSE-KMS to a bucket. By default, Amazon S3 uses this KMS key for + * SSE-KMS. For more information, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html">PUT - * Bucket encryption</a> in the <i>Amazon Simple Storage Service API - * Reference</i>.</p><p><h3>See Also:</h3> <a + * Bucket encryption</a> in the <i>Amazon S3 API Reference</i>.</p><p><h3>See + * Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ServerSideEncryptionByDefault">AWS * API Reference</a></p> */ - class AWS_S3_API ServerSideEncryptionByDefault + class ServerSideEncryptionByDefault { public: - ServerSideEncryptionByDefault(); - ServerSideEncryptionByDefault(const Aws::Utils::Xml::XmlNode& xmlNode); - ServerSideEncryptionByDefault& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ServerSideEncryptionByDefault(); + AWS_S3_API ServerSideEncryptionByDefault(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ServerSideEncryptionByDefault& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -75,172 +79,180 @@ namespace Model /** - * <p>AWS Key Management Service (KMS) customer master key ID to use for the - * default encryption. This parameter is allowed if and only if - * <code>SSEAlgorithm</code> is set to <code>aws:kms</code>.</p> <p>You can specify - * the key ID or the Amazon Resource Name (ARN) of the CMK. However, if you are - * using encryption with cross-account operations, you must use a fully qualified - * CMK ARN. For more information, see <a + * <p>Amazon Web Services Key Management Service (KMS) customer Amazon Web Services + * KMS key ID to use for the default encryption. This parameter is allowed if and + * only if <code>SSEAlgorithm</code> is set to <code>aws:kms</code>.</p> <p>You can + * specify the key ID or the Amazon Resource Name (ARN) of the KMS key. However, if + * you are using encryption with cross-account or Amazon Web Services service + * operations you must use a fully qualified KMS key ARN. For more information, see + * <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy">Using * encryption for cross-account operations</a>. </p> <p> <b>For example:</b> </p> * <ul> <li> <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code> </p> * </li> <li> <p>Key ARN: * <code>arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code> - * </p> </li> </ul> <p>Amazon S3 only supports symmetric CMKs and not - * asymmetric CMKs. For more information, see <a + * </p> </li> </ul> <p>Amazon S3 only supports symmetric KMS keys and + * not asymmetric KMS keys. For more information, see <a * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using - * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer - * Guide</i>.</p> + * symmetric and asymmetric keys</a> in the <i>Amazon Web Services Key Management + * Service Developer Guide</i>.</p> */ inline const Aws::String& GetKMSMasterKeyID() const{ return m_kMSMasterKeyID; } /** - * <p>AWS Key Management Service (KMS) customer master key ID to use for the - * default encryption. This parameter is allowed if and only if - * <code>SSEAlgorithm</code> is set to <code>aws:kms</code>.</p> <p>You can specify - * the key ID or the Amazon Resource Name (ARN) of the CMK. However, if you are - * using encryption with cross-account operations, you must use a fully qualified - * CMK ARN. For more information, see <a + * <p>Amazon Web Services Key Management Service (KMS) customer Amazon Web Services + * KMS key ID to use for the default encryption. This parameter is allowed if and + * only if <code>SSEAlgorithm</code> is set to <code>aws:kms</code>.</p> <p>You can + * specify the key ID or the Amazon Resource Name (ARN) of the KMS key. However, if + * you are using encryption with cross-account or Amazon Web Services service + * operations you must use a fully qualified KMS key ARN. For more information, see + * <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy">Using * encryption for cross-account operations</a>. </p> <p> <b>For example:</b> </p> * <ul> <li> <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code> </p> * </li> <li> <p>Key ARN: * <code>arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code> - * </p> </li> </ul> <p>Amazon S3 only supports symmetric CMKs and not - * asymmetric CMKs. For more information, see <a + * </p> </li> </ul> <p>Amazon S3 only supports symmetric KMS keys and + * not asymmetric KMS keys. For more information, see <a * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using - * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer - * Guide</i>.</p> + * symmetric and asymmetric keys</a> in the <i>Amazon Web Services Key Management + * Service Developer Guide</i>.</p> */ inline bool KMSMasterKeyIDHasBeenSet() const { return m_kMSMasterKeyIDHasBeenSet; } /** - * <p>AWS Key Management Service (KMS) customer master key ID to use for the - * default encryption. This parameter is allowed if and only if - * <code>SSEAlgorithm</code> is set to <code>aws:kms</code>.</p> <p>You can specify - * the key ID or the Amazon Resource Name (ARN) of the CMK. However, if you are - * using encryption with cross-account operations, you must use a fully qualified - * CMK ARN. For more information, see <a + * <p>Amazon Web Services Key Management Service (KMS) customer Amazon Web Services + * KMS key ID to use for the default encryption. This parameter is allowed if and + * only if <code>SSEAlgorithm</code> is set to <code>aws:kms</code>.</p> <p>You can + * specify the key ID or the Amazon Resource Name (ARN) of the KMS key. However, if + * you are using encryption with cross-account or Amazon Web Services service + * operations you must use a fully qualified KMS key ARN. For more information, see + * <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy">Using * encryption for cross-account operations</a>. </p> <p> <b>For example:</b> </p> * <ul> <li> <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code> </p> * </li> <li> <p>Key ARN: * <code>arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code> - * </p> </li> </ul> <p>Amazon S3 only supports symmetric CMKs and not - * asymmetric CMKs. For more information, see <a + * </p> </li> </ul> <p>Amazon S3 only supports symmetric KMS keys and + * not asymmetric KMS keys. For more information, see <a * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using - * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer - * Guide</i>.</p> + * symmetric and asymmetric keys</a> in the <i>Amazon Web Services Key Management + * Service Developer Guide</i>.</p> */ inline void SetKMSMasterKeyID(const Aws::String& value) { m_kMSMasterKeyIDHasBeenSet = true; m_kMSMasterKeyID = value; } /** - * <p>AWS Key Management Service (KMS) customer master key ID to use for the - * default encryption. This parameter is allowed if and only if - * <code>SSEAlgorithm</code> is set to <code>aws:kms</code>.</p> <p>You can specify - * the key ID or the Amazon Resource Name (ARN) of the CMK. However, if you are - * using encryption with cross-account operations, you must use a fully qualified - * CMK ARN. For more information, see <a + * <p>Amazon Web Services Key Management Service (KMS) customer Amazon Web Services + * KMS key ID to use for the default encryption. This parameter is allowed if and + * only if <code>SSEAlgorithm</code> is set to <code>aws:kms</code>.</p> <p>You can + * specify the key ID or the Amazon Resource Name (ARN) of the KMS key. However, if + * you are using encryption with cross-account or Amazon Web Services service + * operations you must use a fully qualified KMS key ARN. For more information, see + * <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy">Using * encryption for cross-account operations</a>. </p> <p> <b>For example:</b> </p> * <ul> <li> <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code> </p> * </li> <li> <p>Key ARN: * <code>arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code> - * </p> </li> </ul> <p>Amazon S3 only supports symmetric CMKs and not - * asymmetric CMKs. For more information, see <a + * </p> </li> </ul> <p>Amazon S3 only supports symmetric KMS keys and + * not asymmetric KMS keys. For more information, see <a * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using - * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer - * Guide</i>.</p> + * symmetric and asymmetric keys</a> in the <i>Amazon Web Services Key Management + * Service Developer Guide</i>.</p> */ inline void SetKMSMasterKeyID(Aws::String&& value) { m_kMSMasterKeyIDHasBeenSet = true; m_kMSMasterKeyID = std::move(value); } /** - * <p>AWS Key Management Service (KMS) customer master key ID to use for the - * default encryption. This parameter is allowed if and only if - * <code>SSEAlgorithm</code> is set to <code>aws:kms</code>.</p> <p>You can specify - * the key ID or the Amazon Resource Name (ARN) of the CMK. However, if you are - * using encryption with cross-account operations, you must use a fully qualified - * CMK ARN. For more information, see <a + * <p>Amazon Web Services Key Management Service (KMS) customer Amazon Web Services + * KMS key ID to use for the default encryption. This parameter is allowed if and + * only if <code>SSEAlgorithm</code> is set to <code>aws:kms</code>.</p> <p>You can + * specify the key ID or the Amazon Resource Name (ARN) of the KMS key. However, if + * you are using encryption with cross-account or Amazon Web Services service + * operations you must use a fully qualified KMS key ARN. For more information, see + * <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy">Using * encryption for cross-account operations</a>. </p> <p> <b>For example:</b> </p> * <ul> <li> <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code> </p> * </li> <li> <p>Key ARN: * <code>arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code> - * </p> </li> </ul> <p>Amazon S3 only supports symmetric CMKs and not - * asymmetric CMKs. For more information, see <a + * </p> </li> </ul> <p>Amazon S3 only supports symmetric KMS keys and + * not asymmetric KMS keys. For more information, see <a * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using - * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer - * Guide</i>.</p> + * symmetric and asymmetric keys</a> in the <i>Amazon Web Services Key Management + * Service Developer Guide</i>.</p> */ inline void SetKMSMasterKeyID(const char* value) { m_kMSMasterKeyIDHasBeenSet = true; m_kMSMasterKeyID.assign(value); } /** - * <p>AWS Key Management Service (KMS) customer master key ID to use for the - * default encryption. This parameter is allowed if and only if - * <code>SSEAlgorithm</code> is set to <code>aws:kms</code>.</p> <p>You can specify - * the key ID or the Amazon Resource Name (ARN) of the CMK. However, if you are - * using encryption with cross-account operations, you must use a fully qualified - * CMK ARN. For more information, see <a + * <p>Amazon Web Services Key Management Service (KMS) customer Amazon Web Services + * KMS key ID to use for the default encryption. This parameter is allowed if and + * only if <code>SSEAlgorithm</code> is set to <code>aws:kms</code>.</p> <p>You can + * specify the key ID or the Amazon Resource Name (ARN) of the KMS key. However, if + * you are using encryption with cross-account or Amazon Web Services service + * operations you must use a fully qualified KMS key ARN. For more information, see + * <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy">Using * encryption for cross-account operations</a>. </p> <p> <b>For example:</b> </p> * <ul> <li> <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code> </p> * </li> <li> <p>Key ARN: * <code>arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code> - * </p> </li> </ul> <p>Amazon S3 only supports symmetric CMKs and not - * asymmetric CMKs. For more information, see <a + * </p> </li> </ul> <p>Amazon S3 only supports symmetric KMS keys and + * not asymmetric KMS keys. For more information, see <a * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using - * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer - * Guide</i>.</p> + * symmetric and asymmetric keys</a> in the <i>Amazon Web Services Key Management + * Service Developer Guide</i>.</p> */ inline ServerSideEncryptionByDefault& WithKMSMasterKeyID(const Aws::String& value) { SetKMSMasterKeyID(value); return *this;} /** - * <p>AWS Key Management Service (KMS) customer master key ID to use for the - * default encryption. This parameter is allowed if and only if - * <code>SSEAlgorithm</code> is set to <code>aws:kms</code>.</p> <p>You can specify - * the key ID or the Amazon Resource Name (ARN) of the CMK. However, if you are - * using encryption with cross-account operations, you must use a fully qualified - * CMK ARN. For more information, see <a + * <p>Amazon Web Services Key Management Service (KMS) customer Amazon Web Services + * KMS key ID to use for the default encryption. This parameter is allowed if and + * only if <code>SSEAlgorithm</code> is set to <code>aws:kms</code>.</p> <p>You can + * specify the key ID or the Amazon Resource Name (ARN) of the KMS key. However, if + * you are using encryption with cross-account or Amazon Web Services service + * operations you must use a fully qualified KMS key ARN. For more information, see + * <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy">Using * encryption for cross-account operations</a>. </p> <p> <b>For example:</b> </p> * <ul> <li> <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code> </p> * </li> <li> <p>Key ARN: * <code>arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code> - * </p> </li> </ul> <p>Amazon S3 only supports symmetric CMKs and not - * asymmetric CMKs. For more information, see <a + * </p> </li> </ul> <p>Amazon S3 only supports symmetric KMS keys and + * not asymmetric KMS keys. For more information, see <a * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using - * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer - * Guide</i>.</p> + * symmetric and asymmetric keys</a> in the <i>Amazon Web Services Key Management + * Service Developer Guide</i>.</p> */ inline ServerSideEncryptionByDefault& WithKMSMasterKeyID(Aws::String&& value) { SetKMSMasterKeyID(std::move(value)); return *this;} /** - * <p>AWS Key Management Service (KMS) customer master key ID to use for the - * default encryption. This parameter is allowed if and only if - * <code>SSEAlgorithm</code> is set to <code>aws:kms</code>.</p> <p>You can specify - * the key ID or the Amazon Resource Name (ARN) of the CMK. However, if you are - * using encryption with cross-account operations, you must use a fully qualified - * CMK ARN. For more information, see <a + * <p>Amazon Web Services Key Management Service (KMS) customer Amazon Web Services + * KMS key ID to use for the default encryption. This parameter is allowed if and + * only if <code>SSEAlgorithm</code> is set to <code>aws:kms</code>.</p> <p>You can + * specify the key ID or the Amazon Resource Name (ARN) of the KMS key. However, if + * you are using encryption with cross-account or Amazon Web Services service + * operations you must use a fully qualified KMS key ARN. For more information, see + * <a * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy">Using * encryption for cross-account operations</a>. </p> <p> <b>For example:</b> </p> * <ul> <li> <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code> </p> * </li> <li> <p>Key ARN: * <code>arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code> - * </p> </li> </ul> <p>Amazon S3 only supports symmetric CMKs and not - * asymmetric CMKs. For more information, see <a + * </p> </li> </ul> <p>Amazon S3 only supports symmetric KMS keys and + * not asymmetric KMS keys. For more information, see <a * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using - * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer - * Guide</i>.</p> + * symmetric and asymmetric keys</a> in the <i>Amazon Web Services Key Management + * Service Developer Guide</i>.</p> */ inline ServerSideEncryptionByDefault& WithKMSMasterKeyID(const char* value) { SetKMSMasterKeyID(value); return *this;} private: ServerSideEncryption m_sSEAlgorithm; - bool m_sSEAlgorithmHasBeenSet; + bool m_sSEAlgorithmHasBeenSet = false; Aws::String m_kMSMasterKeyID; - bool m_kMSMasterKeyIDHasBeenSet; + bool m_kMSMasterKeyIDHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryptionConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryptionConfiguration.h index 7b96441c89..d3d7a4ef1a 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryptionConfiguration.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryptionConfiguration.h @@ -29,14 +29,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ServerSideEncryptionConfiguration">AWS * API Reference</a></p> */ - class AWS_S3_API ServerSideEncryptionConfiguration + class ServerSideEncryptionConfiguration { public: - ServerSideEncryptionConfiguration(); - ServerSideEncryptionConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); - ServerSideEncryptionConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ServerSideEncryptionConfiguration(); + AWS_S3_API ServerSideEncryptionConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ServerSideEncryptionConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -90,7 +90,7 @@ namespace Model private: Aws::Vector<ServerSideEncryptionRule> m_rules; - bool m_rulesHasBeenSet; + bool m_rulesHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryptionRule.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryptionRule.h index 0ef3c70cf4..7aa9db7bdd 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryptionRule.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryptionRule.h @@ -28,14 +28,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ServerSideEncryptionRule">AWS * API Reference</a></p> */ - class AWS_S3_API ServerSideEncryptionRule + class ServerSideEncryptionRule { public: - ServerSideEncryptionRule(); - ServerSideEncryptionRule(const Aws::Utils::Xml::XmlNode& xmlNode); - ServerSideEncryptionRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ServerSideEncryptionRule(); + AWS_S3_API ServerSideEncryptionRule(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API ServerSideEncryptionRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -128,10 +128,10 @@ namespace Model private: ServerSideEncryptionByDefault m_applyServerSideEncryptionByDefault; - bool m_applyServerSideEncryptionByDefaultHasBeenSet; + bool m_applyServerSideEncryptionByDefaultHasBeenSet = false; bool m_bucketKeyEnabled; - bool m_bucketKeyEnabledHasBeenSet; + bool m_bucketKeyEnabledHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SourceSelectionCriteria.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SourceSelectionCriteria.h index 0395f9089b..619c115ad5 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SourceSelectionCriteria.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SourceSelectionCriteria.h @@ -28,60 +28,66 @@ namespace Model * objects that you want to replicate. You can choose to enable or disable the * replication of these objects. Currently, Amazon S3 supports only the filter that * you can specify for objects created with server-side encryption using a customer - * master key (CMK) stored in AWS Key Management Service (SSE-KMS).</p><p><h3>See - * Also:</h3> <a + * managed key stored in Amazon Web Services Key Management Service + * (SSE-KMS).</p><p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SourceSelectionCriteria">AWS * API Reference</a></p> */ - class AWS_S3_API SourceSelectionCriteria + class SourceSelectionCriteria { public: - SourceSelectionCriteria(); - SourceSelectionCriteria(const Aws::Utils::Xml::XmlNode& xmlNode); - SourceSelectionCriteria& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API SourceSelectionCriteria(); + AWS_S3_API SourceSelectionCriteria(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API SourceSelectionCriteria& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** * <p> A container for filter information for the selection of Amazon S3 objects - * encrypted with AWS KMS. If you include <code>SourceSelectionCriteria</code> in - * the replication configuration, this element is required. </p> + * encrypted with Amazon Web Services KMS. If you include + * <code>SourceSelectionCriteria</code> in the replication configuration, this + * element is required. </p> */ inline const SseKmsEncryptedObjects& GetSseKmsEncryptedObjects() const{ return m_sseKmsEncryptedObjects; } /** * <p> A container for filter information for the selection of Amazon S3 objects - * encrypted with AWS KMS. If you include <code>SourceSelectionCriteria</code> in - * the replication configuration, this element is required. </p> + * encrypted with Amazon Web Services KMS. If you include + * <code>SourceSelectionCriteria</code> in the replication configuration, this + * element is required. </p> */ inline bool SseKmsEncryptedObjectsHasBeenSet() const { return m_sseKmsEncryptedObjectsHasBeenSet; } /** * <p> A container for filter information for the selection of Amazon S3 objects - * encrypted with AWS KMS. If you include <code>SourceSelectionCriteria</code> in - * the replication configuration, this element is required. </p> + * encrypted with Amazon Web Services KMS. If you include + * <code>SourceSelectionCriteria</code> in the replication configuration, this + * element is required. </p> */ inline void SetSseKmsEncryptedObjects(const SseKmsEncryptedObjects& value) { m_sseKmsEncryptedObjectsHasBeenSet = true; m_sseKmsEncryptedObjects = value; } /** * <p> A container for filter information for the selection of Amazon S3 objects - * encrypted with AWS KMS. If you include <code>SourceSelectionCriteria</code> in - * the replication configuration, this element is required. </p> + * encrypted with Amazon Web Services KMS. If you include + * <code>SourceSelectionCriteria</code> in the replication configuration, this + * element is required. </p> */ inline void SetSseKmsEncryptedObjects(SseKmsEncryptedObjects&& value) { m_sseKmsEncryptedObjectsHasBeenSet = true; m_sseKmsEncryptedObjects = std::move(value); } /** * <p> A container for filter information for the selection of Amazon S3 objects - * encrypted with AWS KMS. If you include <code>SourceSelectionCriteria</code> in - * the replication configuration, this element is required. </p> + * encrypted with Amazon Web Services KMS. If you include + * <code>SourceSelectionCriteria</code> in the replication configuration, this + * element is required. </p> */ inline SourceSelectionCriteria& WithSseKmsEncryptedObjects(const SseKmsEncryptedObjects& value) { SetSseKmsEncryptedObjects(value); return *this;} /** * <p> A container for filter information for the selection of Amazon S3 objects - * encrypted with AWS KMS. If you include <code>SourceSelectionCriteria</code> in - * the replication configuration, this element is required. </p> + * encrypted with Amazon Web Services KMS. If you include + * <code>SourceSelectionCriteria</code> in the replication configuration, this + * element is required. </p> */ inline SourceSelectionCriteria& WithSseKmsEncryptedObjects(SseKmsEncryptedObjects&& value) { SetSseKmsEncryptedObjects(std::move(value)); return *this;} @@ -161,10 +167,10 @@ namespace Model private: SseKmsEncryptedObjects m_sseKmsEncryptedObjects; - bool m_sseKmsEncryptedObjectsHasBeenSet; + bool m_sseKmsEncryptedObjectsHasBeenSet = false; ReplicaModifications m_replicaModifications; - bool m_replicaModificationsHasBeenSet; + bool m_replicaModificationsHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SseKmsEncryptedObjects.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SseKmsEncryptedObjects.h index 451d3b5e69..ffc763eb20 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SseKmsEncryptedObjects.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SseKmsEncryptedObjects.h @@ -24,66 +24,66 @@ namespace Model /** * <p>A container for filter information for the selection of S3 objects encrypted - * with AWS KMS.</p><p><h3>See Also:</h3> <a + * with Amazon Web Services KMS.</p><p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SseKmsEncryptedObjects">AWS * API Reference</a></p> */ - class AWS_S3_API SseKmsEncryptedObjects + class SseKmsEncryptedObjects { public: - SseKmsEncryptedObjects(); - SseKmsEncryptedObjects(const Aws::Utils::Xml::XmlNode& xmlNode); - SseKmsEncryptedObjects& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API SseKmsEncryptedObjects(); + AWS_S3_API SseKmsEncryptedObjects(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API SseKmsEncryptedObjects& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** * <p>Specifies whether Amazon S3 replicates objects created with server-side - * encryption using a customer master key (CMK) stored in AWS Key Management - * Service.</p> + * encryption using an Amazon Web Services KMS key stored in Amazon Web Services + * Key Management Service.</p> */ inline const SseKmsEncryptedObjectsStatus& GetStatus() const{ return m_status; } /** * <p>Specifies whether Amazon S3 replicates objects created with server-side - * encryption using a customer master key (CMK) stored in AWS Key Management - * Service.</p> + * encryption using an Amazon Web Services KMS key stored in Amazon Web Services + * Key Management Service.</p> */ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** * <p>Specifies whether Amazon S3 replicates objects created with server-side - * encryption using a customer master key (CMK) stored in AWS Key Management - * Service.</p> + * encryption using an Amazon Web Services KMS key stored in Amazon Web Services + * Key Management Service.</p> */ inline void SetStatus(const SseKmsEncryptedObjectsStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** * <p>Specifies whether Amazon S3 replicates objects created with server-side - * encryption using a customer master key (CMK) stored in AWS Key Management - * Service.</p> + * encryption using an Amazon Web Services KMS key stored in Amazon Web Services + * Key Management Service.</p> */ inline void SetStatus(SseKmsEncryptedObjectsStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** * <p>Specifies whether Amazon S3 replicates objects created with server-side - * encryption using a customer master key (CMK) stored in AWS Key Management - * Service.</p> + * encryption using an Amazon Web Services KMS key stored in Amazon Web Services + * Key Management Service.</p> */ inline SseKmsEncryptedObjects& WithStatus(const SseKmsEncryptedObjectsStatus& value) { SetStatus(value); return *this;} /** * <p>Specifies whether Amazon S3 replicates objects created with server-side - * encryption using a customer master key (CMK) stored in AWS Key Management - * Service.</p> + * encryption using an Amazon Web Services KMS key stored in Amazon Web Services + * Key Management Service.</p> */ inline SseKmsEncryptedObjects& WithStatus(SseKmsEncryptedObjectsStatus&& value) { SetStatus(std::move(value)); return *this;} private: SseKmsEncryptedObjectsStatus m_status; - bool m_statusHasBeenSet; + bool m_statusHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Stats.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Stats.h index fd077b8872..49448d5c3c 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Stats.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Stats.h @@ -25,14 +25,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Stats">AWS API * Reference</a></p> */ - class AWS_S3_API Stats + class Stats { public: - Stats(); - Stats(const Aws::Utils::Xml::XmlNode& xmlNode); - Stats& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Stats(); + AWS_S3_API Stats(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Stats& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -100,13 +100,13 @@ namespace Model private: long long m_bytesScanned; - bool m_bytesScannedHasBeenSet; + bool m_bytesScannedHasBeenSet = false; long long m_bytesProcessed; - bool m_bytesProcessedHasBeenSet; + bool m_bytesProcessedHasBeenSet = false; long long m_bytesReturned; - bool m_bytesReturnedHasBeenSet; + bool m_bytesReturnedHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StatsEvent.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StatsEvent.h index 02674cafca..8f757b9157 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StatsEvent.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StatsEvent.h @@ -27,14 +27,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/StatsEvent">AWS API * Reference</a></p> */ - class AWS_S3_API StatsEvent + class StatsEvent { public: - StatsEvent(); - StatsEvent(const Aws::Utils::Xml::XmlNode& xmlNode); - StatsEvent& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API StatsEvent(); + AWS_S3_API StatsEvent(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API StatsEvent& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -70,7 +70,7 @@ namespace Model private: Stats m_details; - bool m_detailsHasBeenSet; + bool m_detailsHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClass.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClass.h index b0cda25f4d..1fabe7ddea 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClass.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClass.h @@ -23,7 +23,8 @@ namespace Model INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, - OUTPOSTS + OUTPOSTS, + GLACIER_IR }; namespace StorageClassMapper diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClassAnalysis.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClassAnalysis.h index 741db0e5f1..e07b66db1a 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClassAnalysis.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClassAnalysis.h @@ -29,14 +29,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/StorageClassAnalysis">AWS * API Reference</a></p> */ - class AWS_S3_API StorageClassAnalysis + class StorageClassAnalysis { public: - StorageClassAnalysis(); - StorageClassAnalysis(const Aws::Utils::Xml::XmlNode& xmlNode); - StorageClassAnalysis& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API StorageClassAnalysis(); + AWS_S3_API StorageClassAnalysis(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API StorageClassAnalysis& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -78,7 +78,7 @@ namespace Model private: StorageClassAnalysisDataExport m_dataExport; - bool m_dataExportHasBeenSet; + bool m_dataExportHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClassAnalysisDataExport.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClassAnalysisDataExport.h index 4a6382b3ec..718ce024a4 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClassAnalysisDataExport.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClassAnalysisDataExport.h @@ -29,14 +29,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/StorageClassAnalysisDataExport">AWS * API Reference</a></p> */ - class AWS_S3_API StorageClassAnalysisDataExport + class StorageClassAnalysisDataExport { public: - StorageClassAnalysisDataExport(); - StorageClassAnalysisDataExport(const Aws::Utils::Xml::XmlNode& xmlNode); - StorageClassAnalysisDataExport& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API StorageClassAnalysisDataExport(); + AWS_S3_API StorageClassAnalysisDataExport(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API StorageClassAnalysisDataExport& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -109,10 +109,10 @@ namespace Model private: StorageClassAnalysisSchemaVersion m_outputSchemaVersion; - bool m_outputSchemaVersionHasBeenSet; + bool m_outputSchemaVersionHasBeenSet = false; AnalyticsExportDestination m_destination; - bool m_destinationHasBeenSet; + bool m_destinationHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tag.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tag.h index 68d57a3ec0..07e37f7bcc 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tag.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tag.h @@ -27,14 +27,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Tag">AWS API * Reference</a></p> */ - class AWS_S3_API Tag + class Tag { public: - Tag(); - Tag(const Aws::Utils::Xml::XmlNode& xmlNode); - Tag& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Tag(); + AWS_S3_API Tag(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Tag& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -121,10 +121,10 @@ namespace Model private: Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; Aws::String m_value; - bool m_valueHasBeenSet; + bool m_valueHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tagging.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tagging.h index 198cc2669b..f14b2904cf 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tagging.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tagging.h @@ -28,14 +28,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Tagging">AWS API * Reference</a></p> */ - class AWS_S3_API Tagging + class Tagging { public: - Tagging(); - Tagging(const Aws::Utils::Xml::XmlNode& xmlNode); - Tagging& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Tagging(); + AWS_S3_API Tagging(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Tagging& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -81,7 +81,7 @@ namespace Model private: Aws::Vector<Tag> m_tagSet; - bool m_tagSetHasBeenSet; + bool m_tagSetHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TargetGrant.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TargetGrant.h index c8d1edafbd..f0a3b99be9 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TargetGrant.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TargetGrant.h @@ -24,18 +24,23 @@ namespace Model { /** - * <p>Container for granting information.</p><p><h3>See Also:</h3> <a + * <p>Container for granting information.</p> <p>Buckets that use the bucket owner + * enforced setting for Object Ownership don't support target grants. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general">Permissions + * server access log delivery</a> in the <i>Amazon S3 User Guide</i>.</p><p><h3>See + * Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/TargetGrant">AWS API * Reference</a></p> */ - class AWS_S3_API TargetGrant + class TargetGrant { public: - TargetGrant(); - TargetGrant(const Aws::Utils::Xml::XmlNode& xmlNode); - TargetGrant& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API TargetGrant(); + AWS_S3_API TargetGrant(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API TargetGrant& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -102,10 +107,10 @@ namespace Model private: Grantee m_grantee; - bool m_granteeHasBeenSet; + bool m_granteeHasBeenSet = false; BucketLogsPermission m_permission; - bool m_permissionHasBeenSet; + bool m_permissionHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tiering.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tiering.h index 0d8f5b8802..32681deded 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tiering.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tiering.h @@ -29,14 +29,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Tiering">AWS API * Reference</a></p> */ - class AWS_S3_API Tiering + class Tiering { public: - Tiering(); - Tiering(const Aws::Utils::Xml::XmlNode& xmlNode); - Tiering& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Tiering(); + AWS_S3_API Tiering(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Tiering& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -133,10 +133,10 @@ namespace Model private: int m_days; - bool m_daysHasBeenSet; + bool m_daysHasBeenSet = false; IntelligentTieringAccessTier m_accessTier; - bool m_accessTierHasBeenSet; + bool m_accessTierHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TopicConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TopicConfiguration.h index f57be251bb..12c1909b96 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TopicConfiguration.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TopicConfiguration.h @@ -32,14 +32,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/TopicConfiguration">AWS * API Reference</a></p> */ - class AWS_S3_API TopicConfiguration + class TopicConfiguration { public: - TopicConfiguration(); - TopicConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); - TopicConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API TopicConfiguration(); + AWS_S3_API TopicConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API TopicConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; @@ -202,16 +202,16 @@ namespace Model private: Aws::String m_id; - bool m_idHasBeenSet; + bool m_idHasBeenSet = false; Aws::String m_topicArn; - bool m_topicArnHasBeenSet; + bool m_topicArnHasBeenSet = false; Aws::Vector<Event> m_events; - bool m_eventsHasBeenSet; + bool m_eventsHasBeenSet = false; NotificationConfigurationFilter m_filter; - bool m_filterHasBeenSet; + bool m_filterHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TopicConfigurationDeprecated.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TopicConfigurationDeprecated.h index 23592ee28e..fb2c5090e0 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TopicConfigurationDeprecated.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TopicConfigurationDeprecated.h @@ -33,14 +33,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/TopicConfigurationDeprecated">AWS * API Reference</a></p> */ - class AWS_S3_API TopicConfigurationDeprecated + class TopicConfigurationDeprecated { public: - TopicConfigurationDeprecated(); - TopicConfigurationDeprecated(const Aws::Utils::Xml::XmlNode& xmlNode); - TopicConfigurationDeprecated& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API TopicConfigurationDeprecated(); + AWS_S3_API TopicConfigurationDeprecated(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API TopicConfigurationDeprecated& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; @@ -160,13 +160,13 @@ namespace Model private: Aws::String m_id; - bool m_idHasBeenSet; + bool m_idHasBeenSet = false; Aws::Vector<Event> m_events; - bool m_eventsHasBeenSet; + bool m_eventsHasBeenSet = false; Aws::String m_topic; - bool m_topicHasBeenSet; + bool m_topicHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Transition.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Transition.h index bc7a534e8b..bacd3e8db6 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Transition.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Transition.h @@ -32,14 +32,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Transition">AWS API * Reference</a></p> */ - class AWS_S3_API Transition + class Transition { public: - Transition(); - Transition(const Aws::Utils::Xml::XmlNode& xmlNode); - Transition& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Transition(); + AWS_S3_API Transition(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API Transition& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -137,13 +137,13 @@ namespace Model private: Aws::Utils::DateTime m_date; - bool m_dateHasBeenSet; + bool m_dateHasBeenSet = false; int m_days; - bool m_daysHasBeenSet; + bool m_daysHasBeenSet = false; TransitionStorageClass m_storageClass; - bool m_storageClassHasBeenSet; + bool m_storageClassHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TransitionStorageClass.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TransitionStorageClass.h index 7eb5efa762..564934a864 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TransitionStorageClass.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TransitionStorageClass.h @@ -20,7 +20,8 @@ namespace Model STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, - DEEP_ARCHIVE + DEEP_ARCHIVE, + GLACIER_IR }; namespace TransitionStorageClassMapper diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartCopyRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartCopyRequest.h index 015c869675..dd47ddc36c 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartCopyRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartCopyRequest.h @@ -25,10 +25,10 @@ namespace Model /** */ - class AWS_S3_API UploadPartCopyRequest : public S3Request + class UploadPartCopyRequest : public S3Request { public: - UploadPartCopyRequest(); + AWS_S3_API UploadPartCopyRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -36,31 +36,36 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UploadPartCopy"; } - Aws::String SerializePayload() const override; + AWS_S3_API Aws::String SerializePayload() const override; - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override; + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The bucket name.</p> <p>When using this action with an access point, you must * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } @@ -69,19 +74,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } @@ -90,19 +95,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } @@ -111,19 +116,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } @@ -132,19 +137,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } @@ -153,19 +158,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline UploadPartCopyRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} @@ -174,19 +179,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline UploadPartCopyRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} @@ -195,19 +200,19 @@ namespace Model * direct requests to the access point hostname. The access point hostname takes * the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline UploadPartCopyRequest& WithBucket(const char* value) { SetBucket(value); return *this;} @@ -221,10 +226,10 @@ namespace Model * specify the name of the source bucket and key of the source object, separated by * a slash (/). For example, to copy the object <code>reports/january.pdf</code> * from the bucket <code>awsexamplebucket</code>, use - * <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL - * encoded.</p> </li> <li> <p>For objects accessed through access points, specify - * the Amazon Resource Name (ARN) of the object as accessed through the access - * point, in the format + * <code>awsexamplebucket/reports/january.pdf</code>. The value must be + * URL-encoded.</p> </li> <li> <p>For objects accessed through access points, + * specify the Amazon Resource Name (ARN) of the object as accessed through the + * access point, in the format * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through access * point <code>my-access-point</code> owned by account <code>123456789012</code> in @@ -232,14 +237,15 @@ namespace Model * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations * using access points only when the source and destination buckets are in the same - * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 - * on Outposts, specify the ARN of the object as accessed in the format + * Amazon Web Services Region.</p> <p>Alternatively, for objects accessed + * through Amazon S3 on Outposts, specify the ARN of the object as accessed in the + * format * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through outpost * <code>my-outpost</code> owned by account <code>123456789012</code> in Region * <code>us-west-2</code>, use the URL encoding of * <code>arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf</code>. - * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * The value must be URL-encoded. </p> </li> </ul> <p>To copy a specific version of * an object, append <code>?versionId=<version-id></code> to the value (for * example, * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). @@ -257,10 +263,10 @@ namespace Model * specify the name of the source bucket and key of the source object, separated by * a slash (/). For example, to copy the object <code>reports/january.pdf</code> * from the bucket <code>awsexamplebucket</code>, use - * <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL - * encoded.</p> </li> <li> <p>For objects accessed through access points, specify - * the Amazon Resource Name (ARN) of the object as accessed through the access - * point, in the format + * <code>awsexamplebucket/reports/january.pdf</code>. The value must be + * URL-encoded.</p> </li> <li> <p>For objects accessed through access points, + * specify the Amazon Resource Name (ARN) of the object as accessed through the + * access point, in the format * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through access * point <code>my-access-point</code> owned by account <code>123456789012</code> in @@ -268,14 +274,15 @@ namespace Model * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations * using access points only when the source and destination buckets are in the same - * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 - * on Outposts, specify the ARN of the object as accessed in the format + * Amazon Web Services Region.</p> <p>Alternatively, for objects accessed + * through Amazon S3 on Outposts, specify the ARN of the object as accessed in the + * format * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through outpost * <code>my-outpost</code> owned by account <code>123456789012</code> in Region * <code>us-west-2</code>, use the URL encoding of * <code>arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf</code>. - * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * The value must be URL-encoded. </p> </li> </ul> <p>To copy a specific version of * an object, append <code>?versionId=<version-id></code> to the value (for * example, * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). @@ -293,10 +300,10 @@ namespace Model * specify the name of the source bucket and key of the source object, separated by * a slash (/). For example, to copy the object <code>reports/january.pdf</code> * from the bucket <code>awsexamplebucket</code>, use - * <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL - * encoded.</p> </li> <li> <p>For objects accessed through access points, specify - * the Amazon Resource Name (ARN) of the object as accessed through the access - * point, in the format + * <code>awsexamplebucket/reports/january.pdf</code>. The value must be + * URL-encoded.</p> </li> <li> <p>For objects accessed through access points, + * specify the Amazon Resource Name (ARN) of the object as accessed through the + * access point, in the format * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through access * point <code>my-access-point</code> owned by account <code>123456789012</code> in @@ -304,14 +311,15 @@ namespace Model * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations * using access points only when the source and destination buckets are in the same - * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 - * on Outposts, specify the ARN of the object as accessed in the format + * Amazon Web Services Region.</p> <p>Alternatively, for objects accessed + * through Amazon S3 on Outposts, specify the ARN of the object as accessed in the + * format * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through outpost * <code>my-outpost</code> owned by account <code>123456789012</code> in Region * <code>us-west-2</code>, use the URL encoding of * <code>arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf</code>. - * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * The value must be URL-encoded. </p> </li> </ul> <p>To copy a specific version of * an object, append <code>?versionId=<version-id></code> to the value (for * example, * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). @@ -329,10 +337,10 @@ namespace Model * specify the name of the source bucket and key of the source object, separated by * a slash (/). For example, to copy the object <code>reports/january.pdf</code> * from the bucket <code>awsexamplebucket</code>, use - * <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL - * encoded.</p> </li> <li> <p>For objects accessed through access points, specify - * the Amazon Resource Name (ARN) of the object as accessed through the access - * point, in the format + * <code>awsexamplebucket/reports/january.pdf</code>. The value must be + * URL-encoded.</p> </li> <li> <p>For objects accessed through access points, + * specify the Amazon Resource Name (ARN) of the object as accessed through the + * access point, in the format * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through access * point <code>my-access-point</code> owned by account <code>123456789012</code> in @@ -340,14 +348,15 @@ namespace Model * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations * using access points only when the source and destination buckets are in the same - * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 - * on Outposts, specify the ARN of the object as accessed in the format + * Amazon Web Services Region.</p> <p>Alternatively, for objects accessed + * through Amazon S3 on Outposts, specify the ARN of the object as accessed in the + * format * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through outpost * <code>my-outpost</code> owned by account <code>123456789012</code> in Region * <code>us-west-2</code>, use the URL encoding of * <code>arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf</code>. - * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * The value must be URL-encoded. </p> </li> </ul> <p>To copy a specific version of * an object, append <code>?versionId=<version-id></code> to the value (for * example, * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). @@ -365,10 +374,10 @@ namespace Model * specify the name of the source bucket and key of the source object, separated by * a slash (/). For example, to copy the object <code>reports/january.pdf</code> * from the bucket <code>awsexamplebucket</code>, use - * <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL - * encoded.</p> </li> <li> <p>For objects accessed through access points, specify - * the Amazon Resource Name (ARN) of the object as accessed through the access - * point, in the format + * <code>awsexamplebucket/reports/january.pdf</code>. The value must be + * URL-encoded.</p> </li> <li> <p>For objects accessed through access points, + * specify the Amazon Resource Name (ARN) of the object as accessed through the + * access point, in the format * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through access * point <code>my-access-point</code> owned by account <code>123456789012</code> in @@ -376,14 +385,15 @@ namespace Model * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations * using access points only when the source and destination buckets are in the same - * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 - * on Outposts, specify the ARN of the object as accessed in the format + * Amazon Web Services Region.</p> <p>Alternatively, for objects accessed + * through Amazon S3 on Outposts, specify the ARN of the object as accessed in the + * format * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through outpost * <code>my-outpost</code> owned by account <code>123456789012</code> in Region * <code>us-west-2</code>, use the URL encoding of * <code>arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf</code>. - * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * The value must be URL-encoded. </p> </li> </ul> <p>To copy a specific version of * an object, append <code>?versionId=<version-id></code> to the value (for * example, * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). @@ -401,10 +411,10 @@ namespace Model * specify the name of the source bucket and key of the source object, separated by * a slash (/). For example, to copy the object <code>reports/january.pdf</code> * from the bucket <code>awsexamplebucket</code>, use - * <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL - * encoded.</p> </li> <li> <p>For objects accessed through access points, specify - * the Amazon Resource Name (ARN) of the object as accessed through the access - * point, in the format + * <code>awsexamplebucket/reports/january.pdf</code>. The value must be + * URL-encoded.</p> </li> <li> <p>For objects accessed through access points, + * specify the Amazon Resource Name (ARN) of the object as accessed through the + * access point, in the format * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through access * point <code>my-access-point</code> owned by account <code>123456789012</code> in @@ -412,14 +422,15 @@ namespace Model * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations * using access points only when the source and destination buckets are in the same - * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 - * on Outposts, specify the ARN of the object as accessed in the format + * Amazon Web Services Region.</p> <p>Alternatively, for objects accessed + * through Amazon S3 on Outposts, specify the ARN of the object as accessed in the + * format * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through outpost * <code>my-outpost</code> owned by account <code>123456789012</code> in Region * <code>us-west-2</code>, use the URL encoding of * <code>arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf</code>. - * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * The value must be URL-encoded. </p> </li> </ul> <p>To copy a specific version of * an object, append <code>?versionId=<version-id></code> to the value (for * example, * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). @@ -437,10 +448,10 @@ namespace Model * specify the name of the source bucket and key of the source object, separated by * a slash (/). For example, to copy the object <code>reports/january.pdf</code> * from the bucket <code>awsexamplebucket</code>, use - * <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL - * encoded.</p> </li> <li> <p>For objects accessed through access points, specify - * the Amazon Resource Name (ARN) of the object as accessed through the access - * point, in the format + * <code>awsexamplebucket/reports/january.pdf</code>. The value must be + * URL-encoded.</p> </li> <li> <p>For objects accessed through access points, + * specify the Amazon Resource Name (ARN) of the object as accessed through the + * access point, in the format * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through access * point <code>my-access-point</code> owned by account <code>123456789012</code> in @@ -448,14 +459,15 @@ namespace Model * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations * using access points only when the source and destination buckets are in the same - * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 - * on Outposts, specify the ARN of the object as accessed in the format + * Amazon Web Services Region.</p> <p>Alternatively, for objects accessed + * through Amazon S3 on Outposts, specify the ARN of the object as accessed in the + * format * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through outpost * <code>my-outpost</code> owned by account <code>123456789012</code> in Region * <code>us-west-2</code>, use the URL encoding of * <code>arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf</code>. - * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * The value must be URL-encoded. </p> </li> </ul> <p>To copy a specific version of * an object, append <code>?versionId=<version-id></code> to the value (for * example, * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). @@ -473,10 +485,10 @@ namespace Model * specify the name of the source bucket and key of the source object, separated by * a slash (/). For example, to copy the object <code>reports/january.pdf</code> * from the bucket <code>awsexamplebucket</code>, use - * <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL - * encoded.</p> </li> <li> <p>For objects accessed through access points, specify - * the Amazon Resource Name (ARN) of the object as accessed through the access - * point, in the format + * <code>awsexamplebucket/reports/january.pdf</code>. The value must be + * URL-encoded.</p> </li> <li> <p>For objects accessed through access points, + * specify the Amazon Resource Name (ARN) of the object as accessed through the + * access point, in the format * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through access * point <code>my-access-point</code> owned by account <code>123456789012</code> in @@ -484,14 +496,15 @@ namespace Model * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations * using access points only when the source and destination buckets are in the same - * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 - * on Outposts, specify the ARN of the object as accessed in the format + * Amazon Web Services Region.</p> <p>Alternatively, for objects accessed + * through Amazon S3 on Outposts, specify the ARN of the object as accessed in the + * format * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. * For example, to copy the object <code>reports/january.pdf</code> through outpost * <code>my-outpost</code> owned by account <code>123456789012</code> in Region * <code>us-west-2</code>, use the URL encoding of * <code>arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf</code>. - * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * The value must be URL-encoded. </p> </li> </ul> <p>To copy a specific version of * an object, append <code>?versionId=<version-id></code> to the value (for * example, * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). @@ -1212,114 +1225,114 @@ namespace Model /** * <p>The account ID of the expected destination bucket owner. If the destination - * bucket is owned by a different account, the request will fail with an HTTP - * <code>403 (Access Denied)</code> error.</p> + * bucket is owned by a different account, the request fails with the HTTP status + * code <code>403 Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected destination bucket owner. If the destination - * bucket is owned by a different account, the request will fail with an HTTP - * <code>403 (Access Denied)</code> error.</p> + * bucket is owned by a different account, the request fails with the HTTP status + * code <code>403 Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected destination bucket owner. If the destination - * bucket is owned by a different account, the request will fail with an HTTP - * <code>403 (Access Denied)</code> error.</p> + * bucket is owned by a different account, the request fails with the HTTP status + * code <code>403 Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected destination bucket owner. If the destination - * bucket is owned by a different account, the request will fail with an HTTP - * <code>403 (Access Denied)</code> error.</p> + * bucket is owned by a different account, the request fails with the HTTP status + * code <code>403 Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected destination bucket owner. If the destination - * bucket is owned by a different account, the request will fail with an HTTP - * <code>403 (Access Denied)</code> error.</p> + * bucket is owned by a different account, the request fails with the HTTP status + * code <code>403 Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected destination bucket owner. If the destination - * bucket is owned by a different account, the request will fail with an HTTP - * <code>403 (Access Denied)</code> error.</p> + * bucket is owned by a different account, the request fails with the HTTP status + * code <code>403 Forbidden</code> (access denied).</p> */ inline UploadPartCopyRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected destination bucket owner. If the destination - * bucket is owned by a different account, the request will fail with an HTTP - * <code>403 (Access Denied)</code> error.</p> + * bucket is owned by a different account, the request fails with the HTTP status + * code <code>403 Forbidden</code> (access denied).</p> */ inline UploadPartCopyRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected destination bucket owner. If the destination - * bucket is owned by a different account, the request will fail with an HTTP - * <code>403 (Access Denied)</code> error.</p> + * bucket is owned by a different account, the request fails with the HTTP status + * code <code>403 Forbidden</code> (access denied).</p> */ inline UploadPartCopyRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected source bucket owner. If the source bucket is - * owned by a different account, the request will fail with an HTTP <code>403 - * (Access Denied)</code> error.</p> + * owned by a different account, the request fails with the HTTP status code + * <code>403 Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedSourceBucketOwner() const{ return m_expectedSourceBucketOwner; } /** * <p>The account ID of the expected source bucket owner. If the source bucket is - * owned by a different account, the request will fail with an HTTP <code>403 - * (Access Denied)</code> error.</p> + * owned by a different account, the request fails with the HTTP status code + * <code>403 Forbidden</code> (access denied).</p> */ inline bool ExpectedSourceBucketOwnerHasBeenSet() const { return m_expectedSourceBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected source bucket owner. If the source bucket is - * owned by a different account, the request will fail with an HTTP <code>403 - * (Access Denied)</code> error.</p> + * owned by a different account, the request fails with the HTTP status code + * <code>403 Forbidden</code> (access denied).</p> */ inline void SetExpectedSourceBucketOwner(const Aws::String& value) { m_expectedSourceBucketOwnerHasBeenSet = true; m_expectedSourceBucketOwner = value; } /** * <p>The account ID of the expected source bucket owner. If the source bucket is - * owned by a different account, the request will fail with an HTTP <code>403 - * (Access Denied)</code> error.</p> + * owned by a different account, the request fails with the HTTP status code + * <code>403 Forbidden</code> (access denied).</p> */ inline void SetExpectedSourceBucketOwner(Aws::String&& value) { m_expectedSourceBucketOwnerHasBeenSet = true; m_expectedSourceBucketOwner = std::move(value); } /** * <p>The account ID of the expected source bucket owner. If the source bucket is - * owned by a different account, the request will fail with an HTTP <code>403 - * (Access Denied)</code> error.</p> + * owned by a different account, the request fails with the HTTP status code + * <code>403 Forbidden</code> (access denied).</p> */ inline void SetExpectedSourceBucketOwner(const char* value) { m_expectedSourceBucketOwnerHasBeenSet = true; m_expectedSourceBucketOwner.assign(value); } /** * <p>The account ID of the expected source bucket owner. If the source bucket is - * owned by a different account, the request will fail with an HTTP <code>403 - * (Access Denied)</code> error.</p> + * owned by a different account, the request fails with the HTTP status code + * <code>403 Forbidden</code> (access denied).</p> */ inline UploadPartCopyRequest& WithExpectedSourceBucketOwner(const Aws::String& value) { SetExpectedSourceBucketOwner(value); return *this;} /** * <p>The account ID of the expected source bucket owner. If the source bucket is - * owned by a different account, the request will fail with an HTTP <code>403 - * (Access Denied)</code> error.</p> + * owned by a different account, the request fails with the HTTP status code + * <code>403 Forbidden</code> (access denied).</p> */ inline UploadPartCopyRequest& WithExpectedSourceBucketOwner(Aws::String&& value) { SetExpectedSourceBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected source bucket owner. If the source bucket is - * owned by a different account, the request will fail with an HTTP <code>403 - * (Access Denied)</code> error.</p> + * owned by a different account, the request fails with the HTTP status code + * <code>403 Forbidden</code> (access denied).</p> */ inline UploadPartCopyRequest& WithExpectedSourceBucketOwner(const char* value) { SetExpectedSourceBucketOwner(value); return *this;} @@ -1366,64 +1379,64 @@ namespace Model private: Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; Aws::String m_copySource; - bool m_copySourceHasBeenSet; + bool m_copySourceHasBeenSet = false; Aws::String m_copySourceIfMatch; - bool m_copySourceIfMatchHasBeenSet; + bool m_copySourceIfMatchHasBeenSet = false; Aws::Utils::DateTime m_copySourceIfModifiedSince; - bool m_copySourceIfModifiedSinceHasBeenSet; + bool m_copySourceIfModifiedSinceHasBeenSet = false; Aws::String m_copySourceIfNoneMatch; - bool m_copySourceIfNoneMatchHasBeenSet; + bool m_copySourceIfNoneMatchHasBeenSet = false; Aws::Utils::DateTime m_copySourceIfUnmodifiedSince; - bool m_copySourceIfUnmodifiedSinceHasBeenSet; + bool m_copySourceIfUnmodifiedSinceHasBeenSet = false; Aws::String m_copySourceRange; - bool m_copySourceRangeHasBeenSet; + bool m_copySourceRangeHasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; int m_partNumber; - bool m_partNumberHasBeenSet; + bool m_partNumberHasBeenSet = false; Aws::String m_uploadId; - bool m_uploadIdHasBeenSet; + bool m_uploadIdHasBeenSet = false; Aws::String m_sSECustomerAlgorithm; - bool m_sSECustomerAlgorithmHasBeenSet; + bool m_sSECustomerAlgorithmHasBeenSet = false; Aws::String m_sSECustomerKey; - bool m_sSECustomerKeyHasBeenSet; + bool m_sSECustomerKeyHasBeenSet = false; Aws::String m_sSECustomerKeyMD5; - bool m_sSECustomerKeyMD5HasBeenSet; + bool m_sSECustomerKeyMD5HasBeenSet = false; Aws::String m_copySourceSSECustomerAlgorithm; - bool m_copySourceSSECustomerAlgorithmHasBeenSet; + bool m_copySourceSSECustomerAlgorithmHasBeenSet = false; Aws::String m_copySourceSSECustomerKey; - bool m_copySourceSSECustomerKeyHasBeenSet; + bool m_copySourceSSECustomerKeyHasBeenSet = false; Aws::String m_copySourceSSECustomerKeyMD5; - bool m_copySourceSSECustomerKeyMD5HasBeenSet; + bool m_copySourceSSECustomerKeyMD5HasBeenSet = false; RequestPayer m_requestPayer; - bool m_requestPayerHasBeenSet; + bool m_requestPayerHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::String m_expectedSourceBucketOwner; - bool m_expectedSourceBucketOwnerHasBeenSet; + bool m_expectedSourceBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartCopyResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartCopyResult.h index ee8933482f..3e2bfc6b45 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartCopyResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartCopyResult.h @@ -27,12 +27,12 @@ namespace S3 { namespace Model { - class AWS_S3_API UploadPartCopyResult + class UploadPartCopyResult { public: - UploadPartCopyResult(); - UploadPartCopyResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - UploadPartCopyResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API UploadPartCopyResult(); + AWS_S3_API UploadPartCopyResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API UploadPartCopyResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** @@ -236,70 +236,70 @@ namespace Model /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyId = value; } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyId = std::move(value); } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyId.assign(value); } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline UploadPartCopyResult& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline UploadPartCopyResult& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for the object.</p> */ inline UploadPartCopyResult& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} /** * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side - * encryption with AWS KMS (SSE-KMS).</p> + * encryption with Amazon Web Services KMS (SSE-KMS).</p> */ inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } /** * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side - * encryption with AWS KMS (SSE-KMS).</p> + * encryption with Amazon Web Services KMS (SSE-KMS).</p> */ inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabled = value; } /** * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side - * encryption with AWS KMS (SSE-KMS).</p> + * encryption with Amazon Web Services KMS (SSE-KMS).</p> */ inline UploadPartCopyResult& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartRequest.h index 49060c0d65..01711b9120 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartRequest.h @@ -8,6 +8,7 @@ #include <aws/s3/S3Request.h> #include <aws/core/utils/Array.h> #include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ChecksumAlgorithm.h> #include <aws/s3/model/RequestPayer.h> #include <aws/core/utils/memory/stl/AWSMap.h> #include <utility> @@ -25,10 +26,10 @@ namespace Model /** */ - class AWS_S3_API UploadPartRequest : public StreamingS3Request + class UploadPartRequest : public StreamingS3Request { public: - UploadPartRequest(); + AWS_S3_API UploadPartRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -36,29 +37,35 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UploadPart"; } - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::String GetChecksumAlgorithmName() const override; + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>The name of the bucket to which the multipart upload was initiated.</p> * <p>When using this action with an access point, you must direct requests to the * access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline const Aws::String& GetBucket() const{ return m_bucket; } @@ -67,19 +74,19 @@ namespace Model * <p>When using this action with an access point, you must direct requests to the * access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } @@ -88,19 +95,19 @@ namespace Model * <p>When using this action with an access point, you must direct requests to the * access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } @@ -109,19 +116,19 @@ namespace Model * <p>When using this action with an access point, you must direct requests to the * access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } @@ -130,19 +137,19 @@ namespace Model * <p>When using this action with an access point, you must direct requests to the * access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } @@ -151,19 +158,19 @@ namespace Model * <p>When using this action with an access point, you must direct requests to the * access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline UploadPartRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} @@ -172,19 +179,19 @@ namespace Model * <p>When using this action with an access point, you must direct requests to the * access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline UploadPartRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} @@ -193,19 +200,19 @@ namespace Model * <p>When using this action with an access point, you must direct requests to the * access point hostname. The access point hostname takes the form * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. - * When using this action with an access point through the AWS SDKs, you provide - * the access point ARN in place of the bucket name. For more information about - * access point ARNs, see <a + * When using this action with an access point through the Amazon Web Services + * SDKs, you provide the access point ARN in place of the bucket name. For more + * information about access point ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using - * Access Points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this + * access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>When using this * action with Amazon S3 on Outposts, you must direct requests to the S3 on - * Outposts hostname. The S3 on Outposts hostname takes the form - * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. - * When using this action using S3 on Outposts through the AWS SDKs, you provide - * the Outposts bucket ARN in place of the bucket name. For more information about - * S3 on Outposts ARNs, see <a + * Outposts hostname. The S3 on Outposts hostname takes the form <code> + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. + * When using this action with S3 on Outposts through the Amazon Web Services SDKs, + * you provide the Outposts bucket ARN in place of the bucket name. For more + * information about S3 on Outposts ARNs, see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">Using - * S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> + * Amazon S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p> */ inline UploadPartRequest& WithBucket(const char* value) { SetBucket(value); return *this;} @@ -293,6 +300,419 @@ namespace Model /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> <p>This checksum algorithm must be + * the same for all parts and it match the checksum value supplied in the + * <code>CreateMultipartUpload</code> request.</p> + */ + inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> <p>This checksum algorithm must be + * the same for all parts and it match the checksum value supplied in the + * <code>CreateMultipartUpload</code> request.</p> + */ + inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> <p>This checksum algorithm must be + * the same for all parts and it match the checksum value supplied in the + * <code>CreateMultipartUpload</code> request.</p> + */ + inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> <p>This checksum algorithm must be + * the same for all parts and it match the checksum value supplied in the + * <code>CreateMultipartUpload</code> request.</p> + */ + inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> <p>This checksum algorithm must be + * the same for all parts and it match the checksum value supplied in the + * <code>CreateMultipartUpload</code> request.</p> + */ + inline UploadPartRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} + + /** + * <p>Indicates the algorithm used to create the checksum for the object when using + * the SDK. This header will not provide any additional functionality if not using + * the SDK. When sending this header, there must be a corresponding + * <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. + * Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad + * Request</code>. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you provide + * an individual checksum, Amazon S3 ignores any provided + * <code>ChecksumAlgorithm</code> parameter.</p> <p>This checksum algorithm must be + * the same for all parts and it match the checksum value supplied in the + * <code>CreateMultipartUpload</code> request.</p> + */ + inline UploadPartRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} + + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32() const{ return m_checksumCRC32; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumCRC32HasBeenSet() const { return m_checksumCRC32HasBeenSet; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const Aws::String& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = value; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(Aws::String&& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = std::move(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const char* value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32.assign(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline UploadPartRequest& WithChecksumCRC32(const Aws::String& value) { SetChecksumCRC32(value); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline UploadPartRequest& WithChecksumCRC32(Aws::String&& value) { SetChecksumCRC32(std::move(value)); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32 checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline UploadPartRequest& WithChecksumCRC32(const char* value) { SetChecksumCRC32(value); return *this;} + + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32C checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32C() const{ return m_checksumCRC32C; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32C checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumCRC32CHasBeenSet() const { return m_checksumCRC32CHasBeenSet; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32C checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const Aws::String& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = value; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32C checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(Aws::String&& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = std::move(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32C checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const char* value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C.assign(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32C checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline UploadPartRequest& WithChecksumCRC32C(const Aws::String& value) { SetChecksumCRC32C(value); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32C checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline UploadPartRequest& WithChecksumCRC32C(Aws::String&& value) { SetChecksumCRC32C(std::move(value)); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 32-bit CRC32C checksum of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline UploadPartRequest& WithChecksumCRC32C(const char* value) { SetChecksumCRC32C(value); return *this;} + + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA1() const{ return m_checksumSHA1; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumSHA1HasBeenSet() const { return m_checksumSHA1HasBeenSet; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const Aws::String& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = value; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(Aws::String&& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = std::move(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const char* value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1.assign(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline UploadPartRequest& WithChecksumSHA1(const Aws::String& value) { SetChecksumSHA1(value); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline UploadPartRequest& WithChecksumSHA1(Aws::String&& value) { SetChecksumSHA1(std::move(value)); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline UploadPartRequest& WithChecksumSHA1(const char* value) { SetChecksumSHA1(value); return *this;} + + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA256() const{ return m_checksumSHA256; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline bool ChecksumSHA256HasBeenSet() const { return m_checksumSHA256HasBeenSet; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const Aws::String& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = value; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(Aws::String&& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = std::move(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const char* value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256.assign(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline UploadPartRequest& WithChecksumSHA256(const Aws::String& value) { SetChecksumSHA256(value); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline UploadPartRequest& WithChecksumSHA256(Aws::String&& value) { SetChecksumSHA256(std::move(value)); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This header specifies the + * base64-encoded, 256-bit SHA-256 digest of the object. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline UploadPartRequest& WithChecksumSHA256(const char* value) { SetChecksumSHA256(value); return *this;} + + + /** * <p>Object key for which the multipart upload was initiated.</p> */ inline const Aws::String& GetKey() const{ return m_key; } @@ -615,57 +1035,57 @@ namespace Model /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline UploadPartRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline UploadPartRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** * <p>The account ID of the expected bucket owner. If the bucket is owned by a - * different account, the request will fail with an HTTP <code>403 (Access - * Denied)</code> error.</p> + * different account, the request fails with the HTTP status code <code>403 + * Forbidden</code> (access denied).</p> */ inline UploadPartRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} @@ -713,40 +1133,55 @@ namespace Model Aws::String m_bucket; - bool m_bucketHasBeenSet; + bool m_bucketHasBeenSet = false; long long m_contentLength; - bool m_contentLengthHasBeenSet; + bool m_contentLengthHasBeenSet = false; Aws::String m_contentMD5; - bool m_contentMD5HasBeenSet; + bool m_contentMD5HasBeenSet = false; + + ChecksumAlgorithm m_checksumAlgorithm; + bool m_checksumAlgorithmHasBeenSet = false; + + Aws::String m_checksumCRC32; + bool m_checksumCRC32HasBeenSet = false; + + Aws::String m_checksumCRC32C; + bool m_checksumCRC32CHasBeenSet = false; + + Aws::String m_checksumSHA1; + bool m_checksumSHA1HasBeenSet = false; + + Aws::String m_checksumSHA256; + bool m_checksumSHA256HasBeenSet = false; Aws::String m_key; - bool m_keyHasBeenSet; + bool m_keyHasBeenSet = false; int m_partNumber; - bool m_partNumberHasBeenSet; + bool m_partNumberHasBeenSet = false; Aws::String m_uploadId; - bool m_uploadIdHasBeenSet; + bool m_uploadIdHasBeenSet = false; Aws::String m_sSECustomerAlgorithm; - bool m_sSECustomerAlgorithmHasBeenSet; + bool m_sSECustomerAlgorithmHasBeenSet = false; Aws::String m_sSECustomerKey; - bool m_sSECustomerKeyHasBeenSet; + bool m_sSECustomerKeyHasBeenSet = false; Aws::String m_sSECustomerKeyMD5; - bool m_sSECustomerKeyMD5HasBeenSet; + bool m_sSECustomerKeyMD5HasBeenSet = false; RequestPayer m_requestPayer; - bool m_requestPayerHasBeenSet; + bool m_requestPayerHasBeenSet = false; Aws::String m_expectedBucketOwner; - bool m_expectedBucketOwnerHasBeenSet; + bool m_expectedBucketOwnerHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartResult.h index 146a25021b..22c25cb6c4 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartResult.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartResult.h @@ -26,12 +26,12 @@ namespace S3 { namespace Model { - class AWS_S3_API UploadPartResult + class UploadPartResult { public: - UploadPartResult(); - UploadPartResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); - UploadPartResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API UploadPartResult(); + AWS_S3_API UploadPartResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AWS_S3_API UploadPartResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); /** @@ -102,6 +102,290 @@ namespace Model /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32() const{ return m_checksumCRC32; } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const Aws::String& value) { m_checksumCRC32 = value; } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(Aws::String&& value) { m_checksumCRC32 = std::move(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32(const char* value) { m_checksumCRC32.assign(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline UploadPartResult& WithChecksumCRC32(const Aws::String& value) { SetChecksumCRC32(value); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline UploadPartResult& WithChecksumCRC32(Aws::String&& value) { SetChecksumCRC32(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline UploadPartResult& WithChecksumCRC32(const char* value) { SetChecksumCRC32(value); return *this;} + + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumCRC32C() const{ return m_checksumCRC32C; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const Aws::String& value) { m_checksumCRC32C = value; } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(Aws::String&& value) { m_checksumCRC32C = std::move(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumCRC32C(const char* value) { m_checksumCRC32C.assign(value); } + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline UploadPartResult& WithChecksumCRC32C(const Aws::String& value) { SetChecksumCRC32C(value); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline UploadPartResult& WithChecksumCRC32C(Aws::String&& value) { SetChecksumCRC32C(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline UploadPartResult& WithChecksumCRC32C(const char* value) { SetChecksumCRC32C(value); return *this;} + + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA1() const{ return m_checksumSHA1; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const Aws::String& value) { m_checksumSHA1 = value; } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(Aws::String&& value) { m_checksumSHA1 = std::move(value); } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA1(const char* value) { m_checksumSHA1.assign(value); } + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline UploadPartResult& WithChecksumSHA1(const Aws::String& value) { SetChecksumSHA1(value); return *this;} + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline UploadPartResult& WithChecksumSHA1(Aws::String&& value) { SetChecksumSHA1(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline UploadPartResult& WithChecksumSHA1(const char* value) { SetChecksumSHA1(value); return *this;} + + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline const Aws::String& GetChecksumSHA256() const{ return m_checksumSHA256; } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const Aws::String& value) { m_checksumSHA256 = value; } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(Aws::String&& value) { m_checksumSHA256 = std::move(value); } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline void SetChecksumSHA256(const char* value) { m_checksumSHA256.assign(value); } + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline UploadPartResult& WithChecksumSHA256(const Aws::String& value) { SetChecksumSHA256(value); return *this;} + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline UploadPartResult& WithChecksumSHA256(Aws::String&& value) { SetChecksumSHA256(std::move(value)); return *this;} + + /** + * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be + * present if it was uploaded with the object. With multipart uploads, this may not + * be a checksum value of the object. For more information about how checksums are + * calculated with multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> + * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> + */ + inline UploadPartResult& WithChecksumSHA256(const char* value) { SetChecksumSHA256(value); return *this;} + + + /** * <p>If server-side encryption with a customer-provided encryption key was * requested, the response will include this header confirming the encryption * algorithm used.</p> @@ -202,70 +486,70 @@ namespace Model /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key was used for + * the object.</p> */ inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key was used for + * the object.</p> */ inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyId = value; } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key was used for + * the object.</p> */ inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyId = std::move(value); } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key was used for + * the object.</p> */ inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyId.assign(value); } /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key was used for + * the object.</p> */ inline UploadPartResult& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key was used for + * the object.</p> */ inline UploadPartResult& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} /** - * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) was used for the - * object.</p> + * <p>If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key was used for + * the object.</p> */ inline UploadPartResult& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} /** * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side - * encryption with AWS KMS (SSE-KMS).</p> + * encryption with Amazon Web Services KMS (SSE-KMS).</p> */ inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } /** * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side - * encryption with AWS KMS (SSE-KMS).</p> + * encryption with Amazon Web Services KMS (SSE-KMS).</p> */ inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabled = value; } /** * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side - * encryption with AWS KMS (SSE-KMS).</p> + * encryption with Amazon Web Services KMS (SSE-KMS).</p> */ inline UploadPartResult& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;} @@ -291,6 +575,14 @@ namespace Model Aws::String m_eTag; + Aws::String m_checksumCRC32; + + Aws::String m_checksumCRC32C; + + Aws::String m_checksumSHA1; + + Aws::String m_checksumSHA256; + Aws::String m_sSECustomerAlgorithm; Aws::String m_sSECustomerKeyMD5; diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/VersioningConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/VersioningConfiguration.h index b30cfbd698..1350a698a3 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/VersioningConfiguration.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/VersioningConfiguration.h @@ -27,19 +27,19 @@ namespace Model * <p>Describes the versioning state of an Amazon S3 bucket. For more information, * see <a * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html">PUT - * Bucket versioning</a> in the <i>Amazon Simple Storage Service API - * Reference</i>.</p><p><h3>See Also:</h3> <a + * Bucket versioning</a> in the <i>Amazon S3 API Reference</i>.</p><p><h3>See + * Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/VersioningConfiguration">AWS * API Reference</a></p> */ - class AWS_S3_API VersioningConfiguration + class VersioningConfiguration { public: - VersioningConfiguration(); - VersioningConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); - VersioningConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API VersioningConfiguration(); + AWS_S3_API VersioningConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API VersioningConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -124,10 +124,10 @@ namespace Model private: MFADelete m_mFADelete; - bool m_mFADeleteHasBeenSet; + bool m_mFADeleteHasBeenSet = false; BucketVersioningStatus m_status; - bool m_statusHasBeenSet; + bool m_statusHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/WebsiteConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/WebsiteConfiguration.h index d862c3e230..278a2d37ea 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/WebsiteConfiguration.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/WebsiteConfiguration.h @@ -32,14 +32,14 @@ namespace Model * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/WebsiteConfiguration">AWS * API Reference</a></p> */ - class AWS_S3_API WebsiteConfiguration + class WebsiteConfiguration { public: - WebsiteConfiguration(); - WebsiteConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); - WebsiteConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API WebsiteConfiguration(); + AWS_S3_API WebsiteConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3_API WebsiteConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); - void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** @@ -190,16 +190,16 @@ namespace Model private: ErrorDocument m_errorDocument; - bool m_errorDocumentHasBeenSet; + bool m_errorDocumentHasBeenSet = false; IndexDocument m_indexDocument; - bool m_indexDocumentHasBeenSet; + bool m_indexDocumentHasBeenSet = false; RedirectAllRequestsTo m_redirectAllRequestsTo; - bool m_redirectAllRequestsToHasBeenSet; + bool m_redirectAllRequestsToHasBeenSet = false; Aws::Vector<RoutingRule> m_routingRules; - bool m_routingRulesHasBeenSet; + bool m_routingRulesHasBeenSet = false; }; } // namespace Model diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/WriteGetObjectResponseRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/WriteGetObjectResponseRequest.h index 59f0a57d80..58f1deab1c 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/WriteGetObjectResponseRequest.h +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/WriteGetObjectResponseRequest.h @@ -31,10 +31,10 @@ namespace Model /** */ - class AWS_S3_API WriteGetObjectResponseRequest : public StreamingS3Request + class WriteGetObjectResponseRequest : public StreamingS3Request { public: - WriteGetObjectResponseRequest(); + AWS_S3_API WriteGetObjectResponseRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. @@ -42,14 +42,18 @@ namespace Model // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "WriteGetObjectResponse"; } - void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; - bool SignBody() const override { return false; } + AWS_S3_API bool SignBody() const override { return false; } - bool IsChunked() const override { return true; } + AWS_S3_API bool IsChunked() const override { return true; } + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; /** * <p>Route prefix to the HTTP URL generated.</p> @@ -144,60 +148,64 @@ namespace Model /** * <p>The integer status code for an HTTP response of a corresponding * <code>GetObject</code> request.</p> <p class="title"> <b>Status Codes</b> </p> - * <ul> <li> <p> <i>200 - OK</i> </p> </li> <li> <p> <i>206 - Partial Content</i> - * </p> </li> <li> <p> <i>304 - Not Modified</i> </p> </li> <li> <p> <i>400 - Bad - * Request</i> </p> </li> <li> <p> <i>401 - Unauthorized</i> </p> </li> <li> <p> - * <i>403 - Forbidden</i> </p> </li> <li> <p> <i>404 - Not Found</i> </p> </li> - * <li> <p> <i>405 - Method Not Allowed</i> </p> </li> <li> <p> <i>409 - - * Conflict</i> </p> </li> <li> <p> <i>411 - Length Required</i> </p> </li> <li> - * <p> <i>412 - Precondition Failed</i> </p> </li> <li> <p> <i>416 - Range Not - * Satisfiable</i> </p> </li> <li> <p> <i>500 - Internal Server Error</i> </p> - * </li> <li> <p> <i>503 - Service Unavailable</i> </p> </li> </ul> + * <ul> <li> <p> <code>200 - OK</code> </p> </li> <li> <p> <code>206 - Partial + * Content</code> </p> </li> <li> <p> <code>304 - Not Modified</code> </p> </li> + * <li> <p> <code>400 - Bad Request</code> </p> </li> <li> <p> <code>401 - + * Unauthorized</code> </p> </li> <li> <p> <code>403 - Forbidden</code> </p> </li> + * <li> <p> <code>404 - Not Found</code> </p> </li> <li> <p> <code>405 - Method Not + * Allowed</code> </p> </li> <li> <p> <code>409 - Conflict</code> </p> </li> <li> + * <p> <code>411 - Length Required</code> </p> </li> <li> <p> <code>412 - + * Precondition Failed</code> </p> </li> <li> <p> <code>416 - Range Not + * Satisfiable</code> </p> </li> <li> <p> <code>500 - Internal Server Error</code> + * </p> </li> <li> <p> <code>503 - Service Unavailable</code> </p> </li> </ul> */ inline int GetStatusCode() const{ return m_statusCode; } /** * <p>The integer status code for an HTTP response of a corresponding * <code>GetObject</code> request.</p> <p class="title"> <b>Status Codes</b> </p> - * <ul> <li> <p> <i>200 - OK</i> </p> </li> <li> <p> <i>206 - Partial Content</i> - * </p> </li> <li> <p> <i>304 - Not Modified</i> </p> </li> <li> <p> <i>400 - Bad - * Request</i> </p> </li> <li> <p> <i>401 - Unauthorized</i> </p> </li> <li> <p> - * <i>403 - Forbidden</i> </p> </li> <li> <p> <i>404 - Not Found</i> </p> </li> - * <li> <p> <i>405 - Method Not Allowed</i> </p> </li> <li> <p> <i>409 - - * Conflict</i> </p> </li> <li> <p> <i>411 - Length Required</i> </p> </li> <li> - * <p> <i>412 - Precondition Failed</i> </p> </li> <li> <p> <i>416 - Range Not - * Satisfiable</i> </p> </li> <li> <p> <i>500 - Internal Server Error</i> </p> - * </li> <li> <p> <i>503 - Service Unavailable</i> </p> </li> </ul> + * <ul> <li> <p> <code>200 - OK</code> </p> </li> <li> <p> <code>206 - Partial + * Content</code> </p> </li> <li> <p> <code>304 - Not Modified</code> </p> </li> + * <li> <p> <code>400 - Bad Request</code> </p> </li> <li> <p> <code>401 - + * Unauthorized</code> </p> </li> <li> <p> <code>403 - Forbidden</code> </p> </li> + * <li> <p> <code>404 - Not Found</code> </p> </li> <li> <p> <code>405 - Method Not + * Allowed</code> </p> </li> <li> <p> <code>409 - Conflict</code> </p> </li> <li> + * <p> <code>411 - Length Required</code> </p> </li> <li> <p> <code>412 - + * Precondition Failed</code> </p> </li> <li> <p> <code>416 - Range Not + * Satisfiable</code> </p> </li> <li> <p> <code>500 - Internal Server Error</code> + * </p> </li> <li> <p> <code>503 - Service Unavailable</code> </p> </li> </ul> */ inline bool StatusCodeHasBeenSet() const { return m_statusCodeHasBeenSet; } /** * <p>The integer status code for an HTTP response of a corresponding * <code>GetObject</code> request.</p> <p class="title"> <b>Status Codes</b> </p> - * <ul> <li> <p> <i>200 - OK</i> </p> </li> <li> <p> <i>206 - Partial Content</i> - * </p> </li> <li> <p> <i>304 - Not Modified</i> </p> </li> <li> <p> <i>400 - Bad - * Request</i> </p> </li> <li> <p> <i>401 - Unauthorized</i> </p> </li> <li> <p> - * <i>403 - Forbidden</i> </p> </li> <li> <p> <i>404 - Not Found</i> </p> </li> - * <li> <p> <i>405 - Method Not Allowed</i> </p> </li> <li> <p> <i>409 - - * Conflict</i> </p> </li> <li> <p> <i>411 - Length Required</i> </p> </li> <li> - * <p> <i>412 - Precondition Failed</i> </p> </li> <li> <p> <i>416 - Range Not - * Satisfiable</i> </p> </li> <li> <p> <i>500 - Internal Server Error</i> </p> - * </li> <li> <p> <i>503 - Service Unavailable</i> </p> </li> </ul> + * <ul> <li> <p> <code>200 - OK</code> </p> </li> <li> <p> <code>206 - Partial + * Content</code> </p> </li> <li> <p> <code>304 - Not Modified</code> </p> </li> + * <li> <p> <code>400 - Bad Request</code> </p> </li> <li> <p> <code>401 - + * Unauthorized</code> </p> </li> <li> <p> <code>403 - Forbidden</code> </p> </li> + * <li> <p> <code>404 - Not Found</code> </p> </li> <li> <p> <code>405 - Method Not + * Allowed</code> </p> </li> <li> <p> <code>409 - Conflict</code> </p> </li> <li> + * <p> <code>411 - Length Required</code> </p> </li> <li> <p> <code>412 - + * Precondition Failed</code> </p> </li> <li> <p> <code>416 - Range Not + * Satisfiable</code> </p> </li> <li> <p> <code>500 - Internal Server Error</code> + * </p> </li> <li> <p> <code>503 - Service Unavailable</code> </p> </li> </ul> */ inline void SetStatusCode(int value) { m_statusCodeHasBeenSet = true; m_statusCode = value; } /** * <p>The integer status code for an HTTP response of a corresponding * <code>GetObject</code> request.</p> <p class="title"> <b>Status Codes</b> </p> - * <ul> <li> <p> <i>200 - OK</i> </p> </li> <li> <p> <i>206 - Partial Content</i> - * </p> </li> <li> <p> <i>304 - Not Modified</i> </p> </li> <li> <p> <i>400 - Bad - * Request</i> </p> </li> <li> <p> <i>401 - Unauthorized</i> </p> </li> <li> <p> - * <i>403 - Forbidden</i> </p> </li> <li> <p> <i>404 - Not Found</i> </p> </li> - * <li> <p> <i>405 - Method Not Allowed</i> </p> </li> <li> <p> <i>409 - - * Conflict</i> </p> </li> <li> <p> <i>411 - Length Required</i> </p> </li> <li> - * <p> <i>412 - Precondition Failed</i> </p> </li> <li> <p> <i>416 - Range Not - * Satisfiable</i> </p> </li> <li> <p> <i>500 - Internal Server Error</i> </p> - * </li> <li> <p> <i>503 - Service Unavailable</i> </p> </li> </ul> + * <ul> <li> <p> <code>200 - OK</code> </p> </li> <li> <p> <code>206 - Partial + * Content</code> </p> </li> <li> <p> <code>304 - Not Modified</code> </p> </li> + * <li> <p> <code>400 - Bad Request</code> </p> </li> <li> <p> <code>401 - + * Unauthorized</code> </p> </li> <li> <p> <code>403 - Forbidden</code> </p> </li> + * <li> <p> <code>404 - Not Found</code> </p> </li> <li> <p> <code>405 - Method Not + * Allowed</code> </p> </li> <li> <p> <code>409 - Conflict</code> </p> </li> <li> + * <p> <code>411 - Length Required</code> </p> </li> <li> <p> <code>412 - + * Precondition Failed</code> </p> </li> <li> <p> <code>416 - Range Not + * Satisfiable</code> </p> </li> <li> <p> <code>500 - Internal Server Error</code> + * </p> </li> <li> <p> <code>503 - Service Unavailable</code> </p> </li> </ul> */ inline WriteGetObjectResponseRequest& WithStatusCode(int value) { SetStatusCode(value); return *this;} @@ -207,8 +215,8 @@ namespace Model * <Code> tag of the error XML response for a corresponding * <code>GetObject</code> call. Cannot be used with a successful * <code>StatusCode</code> header or when the transformed object is provided in the - * body. All error codes from S3 are sentence-cased. Regex value is - * "^[A-Z][a-zA-Z]+$".</p> + * body. All error codes from S3 are sentence-cased. The regular expression (regex) + * value is <code>"^[A-Z][a-zA-Z]+$"</code>.</p> */ inline const Aws::String& GetErrorCode() const{ return m_errorCode; } @@ -217,8 +225,8 @@ namespace Model * <Code> tag of the error XML response for a corresponding * <code>GetObject</code> call. Cannot be used with a successful * <code>StatusCode</code> header or when the transformed object is provided in the - * body. All error codes from S3 are sentence-cased. Regex value is - * "^[A-Z][a-zA-Z]+$".</p> + * body. All error codes from S3 are sentence-cased. The regular expression (regex) + * value is <code>"^[A-Z][a-zA-Z]+$"</code>.</p> */ inline bool ErrorCodeHasBeenSet() const { return m_errorCodeHasBeenSet; } @@ -227,8 +235,8 @@ namespace Model * <Code> tag of the error XML response for a corresponding * <code>GetObject</code> call. Cannot be used with a successful * <code>StatusCode</code> header or when the transformed object is provided in the - * body. All error codes from S3 are sentence-cased. Regex value is - * "^[A-Z][a-zA-Z]+$".</p> + * body. All error codes from S3 are sentence-cased. The regular expression (regex) + * value is <code>"^[A-Z][a-zA-Z]+$"</code>.</p> */ inline void SetErrorCode(const Aws::String& value) { m_errorCodeHasBeenSet = true; m_errorCode = value; } @@ -237,8 +245,8 @@ namespace Model * <Code> tag of the error XML response for a corresponding * <code>GetObject</code> call. Cannot be used with a successful * <code>StatusCode</code> header or when the transformed object is provided in the - * body. All error codes from S3 are sentence-cased. Regex value is - * "^[A-Z][a-zA-Z]+$".</p> + * body. All error codes from S3 are sentence-cased. The regular expression (regex) + * value is <code>"^[A-Z][a-zA-Z]+$"</code>.</p> */ inline void SetErrorCode(Aws::String&& value) { m_errorCodeHasBeenSet = true; m_errorCode = std::move(value); } @@ -247,8 +255,8 @@ namespace Model * <Code> tag of the error XML response for a corresponding * <code>GetObject</code> call. Cannot be used with a successful * <code>StatusCode</code> header or when the transformed object is provided in the - * body. All error codes from S3 are sentence-cased. Regex value is - * "^[A-Z][a-zA-Z]+$".</p> + * body. All error codes from S3 are sentence-cased. The regular expression (regex) + * value is <code>"^[A-Z][a-zA-Z]+$"</code>.</p> */ inline void SetErrorCode(const char* value) { m_errorCodeHasBeenSet = true; m_errorCode.assign(value); } @@ -257,8 +265,8 @@ namespace Model * <Code> tag of the error XML response for a corresponding * <code>GetObject</code> call. Cannot be used with a successful * <code>StatusCode</code> header or when the transformed object is provided in the - * body. All error codes from S3 are sentence-cased. Regex value is - * "^[A-Z][a-zA-Z]+$".</p> + * body. All error codes from S3 are sentence-cased. The regular expression (regex) + * value is <code>"^[A-Z][a-zA-Z]+$"</code>.</p> */ inline WriteGetObjectResponseRequest& WithErrorCode(const Aws::String& value) { SetErrorCode(value); return *this;} @@ -267,8 +275,8 @@ namespace Model * <Code> tag of the error XML response for a corresponding * <code>GetObject</code> call. Cannot be used with a successful * <code>StatusCode</code> header or when the transformed object is provided in the - * body. All error codes from S3 are sentence-cased. Regex value is - * "^[A-Z][a-zA-Z]+$".</p> + * body. All error codes from S3 are sentence-cased. The regular expression (regex) + * value is <code>"^[A-Z][a-zA-Z]+$"</code>.</p> */ inline WriteGetObjectResponseRequest& WithErrorCode(Aws::String&& value) { SetErrorCode(std::move(value)); return *this;} @@ -277,8 +285,8 @@ namespace Model * <Code> tag of the error XML response for a corresponding * <code>GetObject</code> call. Cannot be used with a successful * <code>StatusCode</code> header or when the transformed object is provided in the - * body. All error codes from S3 are sentence-cased. Regex value is - * "^[A-Z][a-zA-Z]+$".</p> + * body. All error codes from S3 are sentence-cased. The regular expression (regex) + * value is <code>"^[A-Z][a-zA-Z]+$"</code>.</p> */ inline WriteGetObjectResponseRequest& WithErrorCode(const char* value) { SetErrorCode(value); return *this;} @@ -640,6 +648,490 @@ namespace Model /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 32-bit CRC32 checksum of the object returned by the Object + * Lambda function. This may not match the checksum for the object stored in Amazon + * S3. Amazon S3 will perform validation of the checksum values only when the + * original <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> <p/> + */ + inline const Aws::String& GetChecksumCRC32() const{ return m_checksumCRC32; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 32-bit CRC32 checksum of the object returned by the Object + * Lambda function. This may not match the checksum for the object stored in Amazon + * S3. Amazon S3 will perform validation of the checksum values only when the + * original <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> <p/> + */ + inline bool ChecksumCRC32HasBeenSet() const { return m_checksumCRC32HasBeenSet; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 32-bit CRC32 checksum of the object returned by the Object + * Lambda function. This may not match the checksum for the object stored in Amazon + * S3. Amazon S3 will perform validation of the checksum values only when the + * original <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> <p/> + */ + inline void SetChecksumCRC32(const Aws::String& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = value; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 32-bit CRC32 checksum of the object returned by the Object + * Lambda function. This may not match the checksum for the object stored in Amazon + * S3. Amazon S3 will perform validation of the checksum values only when the + * original <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> <p/> + */ + inline void SetChecksumCRC32(Aws::String&& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = std::move(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 32-bit CRC32 checksum of the object returned by the Object + * Lambda function. This may not match the checksum for the object stored in Amazon + * S3. Amazon S3 will perform validation of the checksum values only when the + * original <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> <p/> + */ + inline void SetChecksumCRC32(const char* value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32.assign(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 32-bit CRC32 checksum of the object returned by the Object + * Lambda function. This may not match the checksum for the object stored in Amazon + * S3. Amazon S3 will perform validation of the checksum values only when the + * original <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> <p/> + */ + inline WriteGetObjectResponseRequest& WithChecksumCRC32(const Aws::String& value) { SetChecksumCRC32(value); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 32-bit CRC32 checksum of the object returned by the Object + * Lambda function. This may not match the checksum for the object stored in Amazon + * S3. Amazon S3 will perform validation of the checksum values only when the + * original <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> <p/> + */ + inline WriteGetObjectResponseRequest& WithChecksumCRC32(Aws::String&& value) { SetChecksumCRC32(std::move(value)); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 32-bit CRC32 checksum of the object returned by the Object + * Lambda function. This may not match the checksum for the object stored in Amazon + * S3. Amazon S3 will perform validation of the checksum values only when the + * original <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> <p/> + */ + inline WriteGetObjectResponseRequest& WithChecksumCRC32(const char* value) { SetChecksumCRC32(value); return *this;} + + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 32-bit CRC32C checksum of the object returned by the Object + * Lambda function. This may not match the checksum for the object stored in Amazon + * S3. Amazon S3 will perform validation of the checksum values only when the + * original <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> + */ + inline const Aws::String& GetChecksumCRC32C() const{ return m_checksumCRC32C; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 32-bit CRC32C checksum of the object returned by the Object + * Lambda function. This may not match the checksum for the object stored in Amazon + * S3. Amazon S3 will perform validation of the checksum values only when the + * original <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> + */ + inline bool ChecksumCRC32CHasBeenSet() const { return m_checksumCRC32CHasBeenSet; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 32-bit CRC32C checksum of the object returned by the Object + * Lambda function. This may not match the checksum for the object stored in Amazon + * S3. Amazon S3 will perform validation of the checksum values only when the + * original <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> + */ + inline void SetChecksumCRC32C(const Aws::String& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = value; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 32-bit CRC32C checksum of the object returned by the Object + * Lambda function. This may not match the checksum for the object stored in Amazon + * S3. Amazon S3 will perform validation of the checksum values only when the + * original <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> + */ + inline void SetChecksumCRC32C(Aws::String&& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = std::move(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 32-bit CRC32C checksum of the object returned by the Object + * Lambda function. This may not match the checksum for the object stored in Amazon + * S3. Amazon S3 will perform validation of the checksum values only when the + * original <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> + */ + inline void SetChecksumCRC32C(const char* value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C.assign(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 32-bit CRC32C checksum of the object returned by the Object + * Lambda function. This may not match the checksum for the object stored in Amazon + * S3. Amazon S3 will perform validation of the checksum values only when the + * original <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> + */ + inline WriteGetObjectResponseRequest& WithChecksumCRC32C(const Aws::String& value) { SetChecksumCRC32C(value); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 32-bit CRC32C checksum of the object returned by the Object + * Lambda function. This may not match the checksum for the object stored in Amazon + * S3. Amazon S3 will perform validation of the checksum values only when the + * original <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> + */ + inline WriteGetObjectResponseRequest& WithChecksumCRC32C(Aws::String&& value) { SetChecksumCRC32C(std::move(value)); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 32-bit CRC32C checksum of the object returned by the Object + * Lambda function. This may not match the checksum for the object stored in Amazon + * S3. Amazon S3 will perform validation of the checksum values only when the + * original <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> + */ + inline WriteGetObjectResponseRequest& WithChecksumCRC32C(const char* value) { SetChecksumCRC32C(value); return *this;} + + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 160-bit SHA-1 digest of the object returned by the Object Lambda + * function. This may not match the checksum for the object stored in Amazon S3. + * Amazon S3 will perform validation of the checksum values only when the original + * <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> + */ + inline const Aws::String& GetChecksumSHA1() const{ return m_checksumSHA1; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 160-bit SHA-1 digest of the object returned by the Object Lambda + * function. This may not match the checksum for the object stored in Amazon S3. + * Amazon S3 will perform validation of the checksum values only when the original + * <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> + */ + inline bool ChecksumSHA1HasBeenSet() const { return m_checksumSHA1HasBeenSet; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 160-bit SHA-1 digest of the object returned by the Object Lambda + * function. This may not match the checksum for the object stored in Amazon S3. + * Amazon S3 will perform validation of the checksum values only when the original + * <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> + */ + inline void SetChecksumSHA1(const Aws::String& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = value; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 160-bit SHA-1 digest of the object returned by the Object Lambda + * function. This may not match the checksum for the object stored in Amazon S3. + * Amazon S3 will perform validation of the checksum values only when the original + * <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> + */ + inline void SetChecksumSHA1(Aws::String&& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = std::move(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 160-bit SHA-1 digest of the object returned by the Object Lambda + * function. This may not match the checksum for the object stored in Amazon S3. + * Amazon S3 will perform validation of the checksum values only when the original + * <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> + */ + inline void SetChecksumSHA1(const char* value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1.assign(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 160-bit SHA-1 digest of the object returned by the Object Lambda + * function. This may not match the checksum for the object stored in Amazon S3. + * Amazon S3 will perform validation of the checksum values only when the original + * <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> + */ + inline WriteGetObjectResponseRequest& WithChecksumSHA1(const Aws::String& value) { SetChecksumSHA1(value); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 160-bit SHA-1 digest of the object returned by the Object Lambda + * function. This may not match the checksum for the object stored in Amazon S3. + * Amazon S3 will perform validation of the checksum values only when the original + * <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> + */ + inline WriteGetObjectResponseRequest& WithChecksumSHA1(Aws::String&& value) { SetChecksumSHA1(std::move(value)); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 160-bit SHA-1 digest of the object returned by the Object Lambda + * function. This may not match the checksum for the object stored in Amazon S3. + * Amazon S3 will perform validation of the checksum values only when the original + * <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> + */ + inline WriteGetObjectResponseRequest& WithChecksumSHA1(const char* value) { SetChecksumSHA1(value); return *this;} + + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 256-bit SHA-256 digest of the object returned by the Object + * Lambda function. This may not match the checksum for the object stored in Amazon + * S3. Amazon S3 will perform validation of the checksum values only when the + * original <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> + */ + inline const Aws::String& GetChecksumSHA256() const{ return m_checksumSHA256; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 256-bit SHA-256 digest of the object returned by the Object + * Lambda function. This may not match the checksum for the object stored in Amazon + * S3. Amazon S3 will perform validation of the checksum values only when the + * original <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> + */ + inline bool ChecksumSHA256HasBeenSet() const { return m_checksumSHA256HasBeenSet; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 256-bit SHA-256 digest of the object returned by the Object + * Lambda function. This may not match the checksum for the object stored in Amazon + * S3. Amazon S3 will perform validation of the checksum values only when the + * original <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> + */ + inline void SetChecksumSHA256(const Aws::String& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = value; } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 256-bit SHA-256 digest of the object returned by the Object + * Lambda function. This may not match the checksum for the object stored in Amazon + * S3. Amazon S3 will perform validation of the checksum values only when the + * original <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> + */ + inline void SetChecksumSHA256(Aws::String&& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = std::move(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 256-bit SHA-256 digest of the object returned by the Object + * Lambda function. This may not match the checksum for the object stored in Amazon + * S3. Amazon S3 will perform validation of the checksum values only when the + * original <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> + */ + inline void SetChecksumSHA256(const char* value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256.assign(value); } + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 256-bit SHA-256 digest of the object returned by the Object + * Lambda function. This may not match the checksum for the object stored in Amazon + * S3. Amazon S3 will perform validation of the checksum values only when the + * original <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> + */ + inline WriteGetObjectResponseRequest& WithChecksumSHA256(const Aws::String& value) { SetChecksumSHA256(value); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 256-bit SHA-256 digest of the object returned by the Object + * Lambda function. This may not match the checksum for the object stored in Amazon + * S3. Amazon S3 will perform validation of the checksum values only when the + * original <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> + */ + inline WriteGetObjectResponseRequest& WithChecksumSHA256(Aws::String&& value) { SetChecksumSHA256(std::move(value)); return *this;} + + /** + * <p>This header can be used as a data integrity check to verify that the data + * received is the same data that was originally sent. This specifies the + * base64-encoded, 256-bit SHA-256 digest of the object returned by the Object + * Lambda function. This may not match the checksum for the object stored in Amazon + * S3. Amazon S3 will perform validation of the checksum values only when the + * original <code>GetObject</code> request required checksum validation. For more + * information about checksums, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking + * object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Only one + * checksum header can be specified at a time. If you supply multiple checksum + * headers, this request will fail.</p> + */ + inline WriteGetObjectResponseRequest& WithChecksumSHA256(const char* value) { SetChecksumSHA256(value); return *this;} + + + /** * <p>Specifies whether an object stored in Amazon S3 is (<code>true</code>) or is * not (<code>false</code>) a delete marker. </p> */ @@ -745,58 +1237,66 @@ namespace Model /** - * <p>If object stored in Amazon S3 expiration is configured (see PUT Bucket - * lifecycle) it includes expiry-date and rule-id key-value pairs providing object - * expiration information. The value of the rule-id is URL encoded. </p> + * <p>If the object expiration is configured (see PUT Bucket lifecycle), the + * response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs that provide the object expiration + * information. The value of the <code>rule-id</code> is URL-encoded. </p> */ inline const Aws::String& GetExpiration() const{ return m_expiration; } /** - * <p>If object stored in Amazon S3 expiration is configured (see PUT Bucket - * lifecycle) it includes expiry-date and rule-id key-value pairs providing object - * expiration information. The value of the rule-id is URL encoded. </p> + * <p>If the object expiration is configured (see PUT Bucket lifecycle), the + * response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs that provide the object expiration + * information. The value of the <code>rule-id</code> is URL-encoded. </p> */ inline bool ExpirationHasBeenSet() const { return m_expirationHasBeenSet; } /** - * <p>If object stored in Amazon S3 expiration is configured (see PUT Bucket - * lifecycle) it includes expiry-date and rule-id key-value pairs providing object - * expiration information. The value of the rule-id is URL encoded. </p> + * <p>If the object expiration is configured (see PUT Bucket lifecycle), the + * response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs that provide the object expiration + * information. The value of the <code>rule-id</code> is URL-encoded. </p> */ inline void SetExpiration(const Aws::String& value) { m_expirationHasBeenSet = true; m_expiration = value; } /** - * <p>If object stored in Amazon S3 expiration is configured (see PUT Bucket - * lifecycle) it includes expiry-date and rule-id key-value pairs providing object - * expiration information. The value of the rule-id is URL encoded. </p> + * <p>If the object expiration is configured (see PUT Bucket lifecycle), the + * response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs that provide the object expiration + * information. The value of the <code>rule-id</code> is URL-encoded. </p> */ inline void SetExpiration(Aws::String&& value) { m_expirationHasBeenSet = true; m_expiration = std::move(value); } /** - * <p>If object stored in Amazon S3 expiration is configured (see PUT Bucket - * lifecycle) it includes expiry-date and rule-id key-value pairs providing object - * expiration information. The value of the rule-id is URL encoded. </p> + * <p>If the object expiration is configured (see PUT Bucket lifecycle), the + * response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs that provide the object expiration + * information. The value of the <code>rule-id</code> is URL-encoded. </p> */ inline void SetExpiration(const char* value) { m_expirationHasBeenSet = true; m_expiration.assign(value); } /** - * <p>If object stored in Amazon S3 expiration is configured (see PUT Bucket - * lifecycle) it includes expiry-date and rule-id key-value pairs providing object - * expiration information. The value of the rule-id is URL encoded. </p> + * <p>If the object expiration is configured (see PUT Bucket lifecycle), the + * response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs that provide the object expiration + * information. The value of the <code>rule-id</code> is URL-encoded. </p> */ inline WriteGetObjectResponseRequest& WithExpiration(const Aws::String& value) { SetExpiration(value); return *this;} /** - * <p>If object stored in Amazon S3 expiration is configured (see PUT Bucket - * lifecycle) it includes expiry-date and rule-id key-value pairs providing object - * expiration information. The value of the rule-id is URL encoded. </p> + * <p>If the object expiration is configured (see PUT Bucket lifecycle), the + * response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs that provide the object expiration + * information. The value of the <code>rule-id</code> is URL-encoded. </p> */ inline WriteGetObjectResponseRequest& WithExpiration(Aws::String&& value) { SetExpiration(std::move(value)); return *this;} /** - * <p>If object stored in Amazon S3 expiration is configured (see PUT Bucket - * lifecycle) it includes expiry-date and rule-id key-value pairs providing object - * expiration information. The value of the rule-id is URL encoded. </p> + * <p>If the object expiration is configured (see PUT Bucket lifecycle), the + * response includes this header. It includes the <code>expiry-date</code> and + * <code>rule-id</code> key-value pairs that provide the object expiration + * information. The value of the <code>rule-id</code> is URL-encoded. </p> */ inline WriteGetObjectResponseRequest& WithExpiration(const char* value) { SetExpiration(value); return *this;} @@ -1261,58 +1761,58 @@ namespace Model /** - * <p> If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for stored in - * Amazon S3 object. </p> + * <p> If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for stored in Amazon S3 object. </p> */ inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } /** - * <p> If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for stored in - * Amazon S3 object. </p> + * <p> If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for stored in Amazon S3 object. </p> */ inline bool SSEKMSKeyIdHasBeenSet() const { return m_sSEKMSKeyIdHasBeenSet; } /** - * <p> If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for stored in - * Amazon S3 object. </p> + * <p> If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for stored in Amazon S3 object. </p> */ inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId = value; } /** - * <p> If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for stored in - * Amazon S3 object. </p> + * <p> If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for stored in Amazon S3 object. </p> */ inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId = std::move(value); } /** - * <p> If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for stored in - * Amazon S3 object. </p> + * <p> If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for stored in Amazon S3 object. </p> */ inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId.assign(value); } /** - * <p> If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for stored in - * Amazon S3 object. </p> + * <p> If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for stored in Amazon S3 object. </p> */ inline WriteGetObjectResponseRequest& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} /** - * <p> If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for stored in - * Amazon S3 object. </p> + * <p> If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for stored in Amazon S3 object. </p> */ inline WriteGetObjectResponseRequest& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} /** - * <p> If present, specifies the ID of the AWS Key Management Service (AWS KMS) - * symmetric customer managed customer master key (CMK) that was used for stored in - * Amazon S3 object. </p> + * <p> If present, specifies the ID of the Amazon Web Services Key Management + * Service (Amazon Web Services KMS) symmetric customer managed key that was used + * for stored in Amazon S3 object. </p> */ inline WriteGetObjectResponseRequest& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} @@ -1391,32 +1891,56 @@ namespace Model /** - * <p> The class of storage used to store object in Amazon S3.</p> + * <p>Provides storage class information of the object. Amazon S3 returns this + * header for all objects except for S3 Standard storage class objects.</p> <p>For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a>.</p> */ inline const StorageClass& GetStorageClass() const{ return m_storageClass; } /** - * <p> The class of storage used to store object in Amazon S3.</p> + * <p>Provides storage class information of the object. Amazon S3 returns this + * header for all objects except for S3 Standard storage class objects.</p> <p>For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a>.</p> */ inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; } /** - * <p> The class of storage used to store object in Amazon S3.</p> + * <p>Provides storage class information of the object. Amazon S3 returns this + * header for all objects except for S3 Standard storage class objects.</p> <p>For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a>.</p> */ inline void SetStorageClass(const StorageClass& value) { m_storageClassHasBeenSet = true; m_storageClass = value; } /** - * <p> The class of storage used to store object in Amazon S3.</p> + * <p>Provides storage class information of the object. Amazon S3 returns this + * header for all objects except for S3 Standard storage class objects.</p> <p>For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a>.</p> */ inline void SetStorageClass(StorageClass&& value) { m_storageClassHasBeenSet = true; m_storageClass = std::move(value); } /** - * <p> The class of storage used to store object in Amazon S3.</p> + * <p>Provides storage class information of the object. Amazon S3 returns this + * header for all objects except for S3 Standard storage class objects.</p> <p>For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a>.</p> */ inline WriteGetObjectResponseRequest& WithStorageClass(const StorageClass& value) { SetStorageClass(value); return *this;} /** - * <p> The class of storage used to store object in Amazon S3.</p> + * <p>Provides storage class information of the object. Amazon S3 returns this + * header for all objects except for S3 Standard storage class objects.</p> <p>For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a>.</p> */ inline WriteGetObjectResponseRequest& WithStorageClass(StorageClass&& value) { SetStorageClass(std::move(value)); return *this;} @@ -1485,25 +2009,25 @@ namespace Model /** * <p> Indicates whether the object stored in Amazon S3 uses an S3 bucket key for - * server-side encryption with AWS KMS (SSE-KMS).</p> + * server-side encryption with Amazon Web Services KMS (SSE-KMS).</p> */ inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } /** * <p> Indicates whether the object stored in Amazon S3 uses an S3 bucket key for - * server-side encryption with AWS KMS (SSE-KMS).</p> + * server-side encryption with Amazon Web Services KMS (SSE-KMS).</p> */ inline bool BucketKeyEnabledHasBeenSet() const { return m_bucketKeyEnabledHasBeenSet; } /** * <p> Indicates whether the object stored in Amazon S3 uses an S3 bucket key for - * server-side encryption with AWS KMS (SSE-KMS).</p> + * server-side encryption with Amazon Web Services KMS (SSE-KMS).</p> */ inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabledHasBeenSet = true; m_bucketKeyEnabled = value; } /** * <p> Indicates whether the object stored in Amazon S3 uses an S3 bucket key for - * server-side encryption with AWS KMS (SSE-KMS).</p> + * server-side encryption with Amazon Web Services KMS (SSE-KMS).</p> */ inline WriteGetObjectResponseRequest& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;} @@ -1550,110 +2074,122 @@ namespace Model private: Aws::String m_requestRoute; - bool m_requestRouteHasBeenSet; + bool m_requestRouteHasBeenSet = false; Aws::String m_requestToken; - bool m_requestTokenHasBeenSet; + bool m_requestTokenHasBeenSet = false; int m_statusCode; - bool m_statusCodeHasBeenSet; + bool m_statusCodeHasBeenSet = false; Aws::String m_errorCode; - bool m_errorCodeHasBeenSet; + bool m_errorCodeHasBeenSet = false; Aws::String m_errorMessage; - bool m_errorMessageHasBeenSet; + bool m_errorMessageHasBeenSet = false; Aws::String m_acceptRanges; - bool m_acceptRangesHasBeenSet; + bool m_acceptRangesHasBeenSet = false; Aws::String m_cacheControl; - bool m_cacheControlHasBeenSet; + bool m_cacheControlHasBeenSet = false; Aws::String m_contentDisposition; - bool m_contentDispositionHasBeenSet; + bool m_contentDispositionHasBeenSet = false; Aws::String m_contentEncoding; - bool m_contentEncodingHasBeenSet; + bool m_contentEncodingHasBeenSet = false; Aws::String m_contentLanguage; - bool m_contentLanguageHasBeenSet; + bool m_contentLanguageHasBeenSet = false; long long m_contentLength; - bool m_contentLengthHasBeenSet; + bool m_contentLengthHasBeenSet = false; Aws::String m_contentRange; - bool m_contentRangeHasBeenSet; + bool m_contentRangeHasBeenSet = false; + + Aws::String m_checksumCRC32; + bool m_checksumCRC32HasBeenSet = false; + + Aws::String m_checksumCRC32C; + bool m_checksumCRC32CHasBeenSet = false; + + Aws::String m_checksumSHA1; + bool m_checksumSHA1HasBeenSet = false; + + Aws::String m_checksumSHA256; + bool m_checksumSHA256HasBeenSet = false; bool m_deleteMarker; - bool m_deleteMarkerHasBeenSet; + bool m_deleteMarkerHasBeenSet = false; Aws::String m_eTag; - bool m_eTagHasBeenSet; + bool m_eTagHasBeenSet = false; Aws::Utils::DateTime m_expires; - bool m_expiresHasBeenSet; + bool m_expiresHasBeenSet = false; Aws::String m_expiration; - bool m_expirationHasBeenSet; + bool m_expirationHasBeenSet = false; Aws::Utils::DateTime m_lastModified; - bool m_lastModifiedHasBeenSet; + bool m_lastModifiedHasBeenSet = false; int m_missingMeta; - bool m_missingMetaHasBeenSet; + bool m_missingMetaHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_metadata; - bool m_metadataHasBeenSet; + bool m_metadataHasBeenSet = false; ObjectLockMode m_objectLockMode; - bool m_objectLockModeHasBeenSet; + bool m_objectLockModeHasBeenSet = false; ObjectLockLegalHoldStatus m_objectLockLegalHoldStatus; - bool m_objectLockLegalHoldStatusHasBeenSet; + bool m_objectLockLegalHoldStatusHasBeenSet = false; Aws::Utils::DateTime m_objectLockRetainUntilDate; - bool m_objectLockRetainUntilDateHasBeenSet; + bool m_objectLockRetainUntilDateHasBeenSet = false; int m_partsCount; - bool m_partsCountHasBeenSet; + bool m_partsCountHasBeenSet = false; ReplicationStatus m_replicationStatus; - bool m_replicationStatusHasBeenSet; + bool m_replicationStatusHasBeenSet = false; RequestCharged m_requestCharged; - bool m_requestChargedHasBeenSet; + bool m_requestChargedHasBeenSet = false; Aws::String m_restore; - bool m_restoreHasBeenSet; + bool m_restoreHasBeenSet = false; ServerSideEncryption m_serverSideEncryption; - bool m_serverSideEncryptionHasBeenSet; + bool m_serverSideEncryptionHasBeenSet = false; Aws::String m_sSECustomerAlgorithm; - bool m_sSECustomerAlgorithmHasBeenSet; + bool m_sSECustomerAlgorithmHasBeenSet = false; Aws::String m_sSEKMSKeyId; - bool m_sSEKMSKeyIdHasBeenSet; + bool m_sSEKMSKeyIdHasBeenSet = false; Aws::String m_sSECustomerKeyMD5; - bool m_sSECustomerKeyMD5HasBeenSet; + bool m_sSECustomerKeyMD5HasBeenSet = false; StorageClass m_storageClass; - bool m_storageClassHasBeenSet; + bool m_storageClassHasBeenSet = false; int m_tagCount; - bool m_tagCountHasBeenSet; + bool m_tagCountHasBeenSet = false; Aws::String m_versionId; - bool m_versionIdHasBeenSet; + bool m_versionIdHasBeenSet = false; bool m_bucketKeyEnabled; - bool m_bucketKeyEnabledHasBeenSet; + bool m_bucketKeyEnabledHasBeenSet = false; Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; - bool m_customizedAccessLogTagHasBeenSet; + bool m_customizedAccessLogTagHasBeenSet = false; }; } // namespace Model 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 deleted file mode 100644 index 72bbbc8c7e..0000000000 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ARN.cpp +++ /dev/null @@ -1,210 +0,0 @@ -/** - * 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() != ARNService::S3 && this->GetService() != ARNService::S3_OUTPOSTS && this->GetService() != ARNService::S3_OBJECT_LAMBDA) - { - ss.str(""); - ss << "Invalid service in ARN: " << this->GetService() << ". Valid options: " << ARNService::S3 << ", " << ARNService::S3_OUTPOSTS << ", " << ARNService::S3_OBJECT_LAMBDA << "."; - 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 and Object Lambda 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; - } - } - // ARN with unknown resource type. - 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 index 7f9eb2b4c6..fa38c023e0 100644 --- 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 @@ -16,12 +16,13 @@ #include <aws/core/utils/threading/Executor.h> #include <aws/core/utils/DNS.h> #include <aws/core/utils/logging/LogMacros.h> - +#include <aws/core/utils/logging/ErrorMacros.h> #include <aws/core/utils/event/EventStream.h> +#include <aws/core/platform/Environment.h> + #include <aws/s3/S3Client.h> -#include <aws/s3/S3Endpoint.h> #include <aws/s3/S3ErrorMarshaller.h> -#include <aws/s3/S3ARN.h> +#include <aws/s3/S3EndpointProvider.h> #include <aws/s3/model/AbortMultipartUploadRequest.h> #include <aws/s3/model/CompleteMultipartUploadRequest.h> #include <aws/s3/model/CopyObjectRequest.h> @@ -66,6 +67,7 @@ #include <aws/s3/model/GetBucketWebsiteRequest.h> #include <aws/s3/model/GetObjectRequest.h> #include <aws/s3/model/GetObjectAclRequest.h> +#include <aws/s3/model/GetObjectAttributesRequest.h> #include <aws/s3/model/GetObjectLegalHoldRequest.h> #include <aws/s3/model/GetObjectLockConfigurationRequest.h> #include <aws/s3/model/GetObjectRetentionRequest.h> @@ -121,88 +123,151 @@ using namespace Aws::S3; using namespace Aws::S3::Model; using namespace Aws::Http; using namespace Aws::Utils::Xml; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; -static const char* SERVICE_NAME = "s3"; -static const char* ALLOCATION_TAG = "S3Client"; - +const char* S3Client::SERVICE_NAME = "s3"; +const char* S3Client::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) : +S3Client::S3Client(const S3::S3ClientConfiguration& clientConfiguration, + std::shared_ptr<S3EndpointProviderBase> endpointProvider) : 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) + Aws::MakeShared<Aws::Auth::DefaultAuthSignerProvider>(ALLOCATION_TAG, + Aws::MakeShared<DefaultAWSCredentialsProviderChain>(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region), + clientConfiguration.payloadSigningPolicy, + /*doubleEncodeValue*/ false), + Aws::MakeShared<S3ErrorMarshaller>(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_executor(clientConfiguration.executor), + m_endpointProvider(std::move(endpointProvider)) +{ + init(m_clientConfiguration); +} + +S3Client::S3Client(const AWSCredentials& credentials, + std::shared_ptr<S3EndpointProviderBase> endpointProvider, + const S3::S3ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared<Aws::Auth::DefaultAuthSignerProvider>(ALLOCATION_TAG, + Aws::MakeShared<SimpleAWSCredentialsProvider>(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region), + clientConfiguration.payloadSigningPolicy, + /*doubleEncodeValue*/ false), + Aws::MakeShared<S3ErrorMarshaller>(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_executor(clientConfiguration.executor), + m_endpointProvider(std::move(endpointProvider)) { - init(clientConfiguration); + init(m_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) : +S3Client::S3Client(const std::shared_ptr<AWSCredentialsProvider>& credentialsProvider, + std::shared_ptr<S3EndpointProviderBase> endpointProvider, + const S3::S3ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared<Aws::Auth::DefaultAuthSignerProvider>(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region), + clientConfiguration.payloadSigningPolicy, + /*doubleEncodeValue*/ false), + Aws::MakeShared<S3ErrorMarshaller>(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_executor(clientConfiguration.executor), + m_endpointProvider(std::move(endpointProvider)) +{ + init(m_clientConfiguration); +} + + /* Legacy constructors due deprecation */ + S3Client::S3Client(const Client::ClientConfiguration& clientConfiguration, + Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads /*= Never*/, + bool useVirtualAddressing /*= true*/, + 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) + Aws::MakeShared<Aws::Auth::DefaultAuthSignerProvider>(ALLOCATION_TAG, + Aws::MakeShared<DefaultAWSCredentialsProviderChain>(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region), + signPayloads, + /*doubleEncodeValue*/ false), + Aws::MakeShared<S3ErrorMarshaller>(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration, signPayloads, useVirtualAddressing, USEast1RegionalEndPointOption), + m_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared<S3EndpointProvider>(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +S3Client::S3Client(const AWSCredentials& credentials, + const Client::ClientConfiguration& clientConfiguration, + Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads /*= Never*/, + bool useVirtualAddressing /*= true*/, + Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION USEast1RegionalEndPointOption) : + BASECLASS(clientConfiguration, + Aws::MakeShared<Aws::Auth::DefaultAuthSignerProvider>(ALLOCATION_TAG, + Aws::MakeShared<SimpleAWSCredentialsProvider>(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region), + signPayloads, + /*doubleEncodeValue*/ false), + Aws::MakeShared<S3ErrorMarshaller>(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration, signPayloads, useVirtualAddressing, USEast1RegionalEndPointOption), + m_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared<S3EndpointProvider>(ALLOCATION_TAG)) { - init(clientConfiguration); + init(m_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) : + const Client::ClientConfiguration& clientConfiguration, + Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads /*= Never*/, + bool useVirtualAddressing /*= true*/, + 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) + Aws::MakeShared<Aws::Auth::DefaultAuthSignerProvider>(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region), + signPayloads, + /*doubleEncodeValue*/ false), + Aws::MakeShared<S3ErrorMarshaller>(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration, signPayloads, useVirtualAddressing, USEast1RegionalEndPointOption), + m_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared<S3EndpointProvider>(ALLOCATION_TAG)) { - init(clientConfiguration); + init(m_clientConfiguration); } + /* End of legacy constructors due deprecation */ S3Client::~S3Client() { } -void S3Client::init(const ClientConfiguration& config) +std::shared_ptr<S3EndpointProviderBase>& S3Client::accessEndpointProvider() { - 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); - } - m_enableHostPrefixInjection = config.enableHostPrefixInjection; + return m_endpointProvider; +} + +void S3Client::init(const S3::S3ClientConfiguration& config) +{ + AWSClient::SetServiceClientName("S3"); + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->InitBuiltInParameters(config); } 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; - } + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); } AbortMultipartUploadOutcome S3Client::AbortMultipartUpload(const AbortMultipartUploadRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, AbortMultipartUpload, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("AbortMultipartUpload", "Required field: Bucket, is not set"); @@ -218,39 +283,15 @@ AbortMultipartUploadOutcome S3Client::AbortMultipartUpload(const AbortMultipartU 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); + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, AbortMultipartUpload, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); + return AbortMultipartUploadOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE)); } CompleteMultipartUploadOutcome S3Client::CompleteMultipartUpload(const CompleteMultipartUploadRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CompleteMultipartUpload, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("CompleteMultipartUpload", "Required field: Bucket, is not set"); @@ -266,39 +307,15 @@ CompleteMultipartUploadOutcome S3Client::CompleteMultipartUpload(const CompleteM 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); + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CompleteMultipartUpload, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); + return CompleteMultipartUploadOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); } CopyObjectOutcome S3Client::CopyObject(const CopyObjectRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CopyObject, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("CopyObject", "Required field: Bucket, is not set"); @@ -314,77 +331,28 @@ CopyObjectOutcome S3Client::CopyObject(const CopyObjectRequest& request) const 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); + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CopyObject, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); + return CopyObjectOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } CreateBucketOutcome S3Client::CreateBucket(const CreateBucketRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateBucket, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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); + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateBucket, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return CreateBucketOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } CreateMultipartUploadOutcome S3Client::CreateMultipartUpload(const CreateMultipartUploadRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateMultipartUpload, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("CreateMultipartUpload", "Required field: Bucket, is not set"); @@ -395,77 +363,31 @@ CreateMultipartUploadOutcome S3Client::CreateMultipartUpload(const CreateMultipa 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateMultipartUpload, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); Aws::StringStream ss; - ss << "/"; - ss << request.GetKey(); - uri.SetPath(uri.GetPath() + ss.str()); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return CreateMultipartUploadOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); } DeleteBucketOutcome S3Client::DeleteBucket(const DeleteBucketRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteBucket, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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); + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteBucket, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteBucketOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE)); } DeleteBucketAnalyticsConfigurationOutcome S3Client::DeleteBucketAnalyticsConfiguration(const DeleteBucketAnalyticsConfigurationRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteBucketAnalyticsConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("DeleteBucketAnalyticsConfiguration", "Required field: Bucket, is not set"); @@ -476,112 +398,49 @@ DeleteBucketAnalyticsConfigurationOutcome S3Client::DeleteBucketAnalyticsConfigu 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteBucketAnalyticsConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return DeleteBucketAnalyticsConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE)); } DeleteBucketCorsOutcome S3Client::DeleteBucketCors(const DeleteBucketCorsRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteBucketCors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteBucketCors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return DeleteBucketCorsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE)); } DeleteBucketEncryptionOutcome S3Client::DeleteBucketEncryption(const DeleteBucketEncryptionRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteBucketEncryption, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteBucketEncryption, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return DeleteBucketEncryptionOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE)); } DeleteBucketIntelligentTieringConfigurationOutcome S3Client::DeleteBucketIntelligentTieringConfiguration(const DeleteBucketIntelligentTieringConfigurationRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteBucketIntelligentTieringConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("DeleteBucketIntelligentTieringConfiguration", "Required field: Bucket, is not set"); @@ -592,38 +451,17 @@ DeleteBucketIntelligentTieringConfigurationOutcome S3Client::DeleteBucketIntelli 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteBucketIntelligentTieringConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return DeleteBucketIntelligentTieringConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE)); } DeleteBucketInventoryConfigurationOutcome S3Client::DeleteBucketInventoryConfiguration(const DeleteBucketInventoryConfigurationRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteBucketInventoryConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("DeleteBucketInventoryConfiguration", "Required field: Bucket, is not set"); @@ -634,75 +472,33 @@ DeleteBucketInventoryConfigurationOutcome S3Client::DeleteBucketInventoryConfigu 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteBucketInventoryConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return DeleteBucketInventoryConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE)); } DeleteBucketLifecycleOutcome S3Client::DeleteBucketLifecycle(const DeleteBucketLifecycleRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteBucketLifecycle, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteBucketLifecycle, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return DeleteBucketLifecycleOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE)); } DeleteBucketMetricsConfigurationOutcome S3Client::DeleteBucketMetricsConfiguration(const DeleteBucketMetricsConfigurationRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteBucketMetricsConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("DeleteBucketMetricsConfiguration", "Required field: Bucket, is not set"); @@ -713,223 +509,97 @@ DeleteBucketMetricsConfigurationOutcome S3Client::DeleteBucketMetricsConfigurati 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteBucketMetricsConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return DeleteBucketMetricsConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE)); } DeleteBucketOwnershipControlsOutcome S3Client::DeleteBucketOwnershipControls(const DeleteBucketOwnershipControlsRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteBucketOwnershipControls, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteBucketOwnershipControls, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return DeleteBucketOwnershipControlsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE)); } DeleteBucketPolicyOutcome S3Client::DeleteBucketPolicy(const DeleteBucketPolicyRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteBucketPolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteBucketPolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return DeleteBucketPolicyOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE)); } DeleteBucketReplicationOutcome S3Client::DeleteBucketReplication(const DeleteBucketReplicationRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteBucketReplication, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteBucketReplication, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return DeleteBucketReplicationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE)); } DeleteBucketTaggingOutcome S3Client::DeleteBucketTagging(const DeleteBucketTaggingRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteBucketTagging, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteBucketTagging, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return DeleteBucketTaggingOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE)); } DeleteBucketWebsiteOutcome S3Client::DeleteBucketWebsite(const DeleteBucketWebsiteRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteBucketWebsite, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteBucketWebsite, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return DeleteBucketWebsiteOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE)); } DeleteObjectOutcome S3Client::DeleteObject(const DeleteObjectRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteObject, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("DeleteObject", "Required field: Bucket, is not set"); @@ -940,39 +610,15 @@ DeleteObjectOutcome S3Client::DeleteObject(const DeleteObjectRequest& request) c 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); + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteObject, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); + return DeleteObjectOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE)); } DeleteObjectTaggingOutcome S3Client::DeleteObjectTagging(const DeleteObjectTaggingRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteObjectTagging, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("DeleteObjectTagging", "Required field: Bucket, is not set"); @@ -983,189 +629,82 @@ DeleteObjectTaggingOutcome S3Client::DeleteObjectTagging(const DeleteObjectTaggi 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteObjectTagging, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); Aws::StringStream ss; - ss << "/"; - ss << request.GetKey(); - uri.SetPath(uri.GetPath() + ss.str()); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return DeleteObjectTaggingOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE)); } DeleteObjectsOutcome S3Client::DeleteObjects(const DeleteObjectsRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteObjects, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteObjects, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return DeleteObjectsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); } DeletePublicAccessBlockOutcome S3Client::DeletePublicAccessBlock(const DeletePublicAccessBlockRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeletePublicAccessBlock, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeletePublicAccessBlock, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return DeletePublicAccessBlockOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE)); } GetBucketAccelerateConfigurationOutcome S3Client::GetBucketAccelerateConfiguration(const GetBucketAccelerateConfigurationRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetBucketAccelerateConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetBucketAccelerateConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetBucketAccelerateConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetBucketAclOutcome S3Client::GetBucketAcl(const GetBucketAclRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetBucketAcl, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetBucketAcl, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetBucketAclOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetBucketAnalyticsConfigurationOutcome S3Client::GetBucketAnalyticsConfiguration(const GetBucketAnalyticsConfigurationRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetBucketAnalyticsConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("GetBucketAnalyticsConfiguration", "Required field: Bucket, is not set"); @@ -1176,112 +715,49 @@ GetBucketAnalyticsConfigurationOutcome S3Client::GetBucketAnalyticsConfiguration 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetBucketAnalyticsConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetBucketAnalyticsConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetBucketCorsOutcome S3Client::GetBucketCors(const GetBucketCorsRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetBucketCors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetBucketCors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetBucketCorsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetBucketEncryptionOutcome S3Client::GetBucketEncryption(const GetBucketEncryptionRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetBucketEncryption, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetBucketEncryption, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetBucketEncryptionOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetBucketIntelligentTieringConfigurationOutcome S3Client::GetBucketIntelligentTieringConfiguration(const GetBucketIntelligentTieringConfigurationRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetBucketIntelligentTieringConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("GetBucketIntelligentTieringConfiguration", "Required field: Bucket, is not set"); @@ -1292,38 +768,17 @@ GetBucketIntelligentTieringConfigurationOutcome S3Client::GetBucketIntelligentTi 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetBucketIntelligentTieringConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetBucketIntelligentTieringConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetBucketInventoryConfigurationOutcome S3Client::GetBucketInventoryConfiguration(const GetBucketInventoryConfigurationRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetBucketInventoryConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("GetBucketInventoryConfiguration", "Required field: Bucket, is not set"); @@ -1334,149 +789,65 @@ GetBucketInventoryConfigurationOutcome S3Client::GetBucketInventoryConfiguration 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetBucketInventoryConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetBucketInventoryConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetBucketLifecycleConfigurationOutcome S3Client::GetBucketLifecycleConfiguration(const GetBucketLifecycleConfigurationRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetBucketLifecycleConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetBucketLifecycleConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetBucketLifecycleConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetBucketLocationOutcome S3Client::GetBucketLocation(const GetBucketLocationRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetBucketLocation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetBucketLocation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetBucketLocationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetBucketLoggingOutcome S3Client::GetBucketLogging(const GetBucketLoggingRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetBucketLogging, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetBucketLogging, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetBucketLoggingOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetBucketMetricsConfigurationOutcome S3Client::GetBucketMetricsConfiguration(const GetBucketMetricsConfigurationRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetBucketMetricsConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("GetBucketMetricsConfiguration", "Required field: Bucket, is not set"); @@ -1487,371 +858,161 @@ GetBucketMetricsConfigurationOutcome S3Client::GetBucketMetricsConfiguration(con 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetBucketMetricsConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetBucketMetricsConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetBucketNotificationConfigurationOutcome S3Client::GetBucketNotificationConfiguration(const GetBucketNotificationConfigurationRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetBucketNotificationConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetBucketNotificationConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetBucketNotificationConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetBucketOwnershipControlsOutcome S3Client::GetBucketOwnershipControls(const GetBucketOwnershipControlsRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetBucketOwnershipControls, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetBucketOwnershipControls, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetBucketOwnershipControlsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetBucketPolicyOutcome S3Client::GetBucketPolicy(const GetBucketPolicyRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetBucketPolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetBucketPolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetBucketPolicyOutcome(MakeRequestWithUnparsedResponse(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetBucketPolicyStatusOutcome S3Client::GetBucketPolicyStatus(const GetBucketPolicyStatusRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetBucketPolicyStatus, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetBucketPolicyStatus, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetBucketPolicyStatusOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetBucketReplicationOutcome S3Client::GetBucketReplication(const GetBucketReplicationRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetBucketReplication, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetBucketReplication, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetBucketReplicationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetBucketRequestPaymentOutcome S3Client::GetBucketRequestPayment(const GetBucketRequestPaymentRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetBucketRequestPayment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetBucketRequestPayment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetBucketRequestPaymentOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetBucketTaggingOutcome S3Client::GetBucketTagging(const GetBucketTaggingRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetBucketTagging, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetBucketTagging, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetBucketTaggingOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetBucketVersioningOutcome S3Client::GetBucketVersioning(const GetBucketVersioningRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetBucketVersioning, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetBucketVersioning, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetBucketVersioningOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetBucketWebsiteOutcome S3Client::GetBucketWebsite(const GetBucketWebsiteRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetBucketWebsite, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetBucketWebsite, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetBucketWebsiteOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetObjectOutcome S3Client::GetObject(const GetObjectRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetObject, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("GetObject", "Required field: Bucket, is not set"); @@ -1862,17 +1023,10 @@ GetObjectOutcome S3Client::GetObject(const GetObjectRequest& request) const 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*/)); + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetObject, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); + return GetObjectOutcome(MakeRequestWithUnparsedResponse(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetObjectOutcomeCallable S3Client::GetObjectCallable(const GetObjectRequest& request) const @@ -1885,16 +1039,15 @@ GetObjectOutcomeCallable S3Client::GetObjectCallable(const GetObjectRequest& req 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); + m_executor->Submit( [this, request, handler, context]() + { + handler(this, request, GetObject(request), context); + } ); } GetObjectAclOutcome S3Client::GetObjectAcl(const GetObjectAclRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetObjectAcl, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("GetObjectAcl", "Required field: Bucket, is not set"); @@ -1905,41 +1058,45 @@ GetObjectAclOutcome S3Client::GetObjectAcl(const GetObjectAclRequest& request) c 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetObjectAcl, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); Aws::StringStream ss; - ss << "/"; - ss << request.GetKey(); - uri.SetPath(uri.GetPath() + ss.str()); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); 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 ); } ); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetObjectAclOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } -void S3Client::GetObjectAclAsyncHelper(const GetObjectAclRequest& request, const GetObjectAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const +GetObjectAttributesOutcome S3Client::GetObjectAttributes(const GetObjectAttributesRequest& request) const { - handler(this, request, GetObjectAcl(request), context); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetObjectAttributes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetObjectAttributes", "Required field: Bucket, is not set"); + return GetObjectAttributesOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetObjectAttributes", "Required field: Key, is not set"); + return GetObjectAttributesOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + if (!request.ObjectAttributesHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetObjectAttributes", "Required field: ObjectAttributes, is not set"); + return GetObjectAttributesOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ObjectAttributes]", false)); + } + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetObjectAttributes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + Aws::StringStream ss; + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); + ss.str("?attributes"); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetObjectAttributesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetObjectLegalHoldOutcome S3Client::GetObjectLegalHold(const GetObjectLegalHoldRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetObjectLegalHold, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("GetObjectLegalHold", "Required field: Bucket, is not set"); @@ -1950,78 +1107,34 @@ GetObjectLegalHoldOutcome S3Client::GetObjectLegalHold(const GetObjectLegalHoldR 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetObjectLegalHold, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); Aws::StringStream ss; - ss << "/"; - ss << request.GetKey(); - uri.SetPath(uri.GetPath() + ss.str()); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetObjectLegalHoldOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetObjectLockConfigurationOutcome S3Client::GetObjectLockConfiguration(const GetObjectLockConfigurationRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetObjectLockConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetObjectLockConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetObjectLockConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetObjectRetentionOutcome S3Client::GetObjectRetention(const GetObjectRetentionRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetObjectRetention, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("GetObjectRetention", "Required field: Bucket, is not set"); @@ -2032,41 +1145,18 @@ GetObjectRetentionOutcome S3Client::GetObjectRetention(const GetObjectRetentionR 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetObjectRetention, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); Aws::StringStream ss; - ss << "/"; - ss << request.GetKey(); - uri.SetPath(uri.GetPath() + ss.str()); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetObjectRetentionOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetObjectTaggingOutcome S3Client::GetObjectTagging(const GetObjectTaggingRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetObjectTagging, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("GetObjectTagging", "Required field: Bucket, is not set"); @@ -2077,41 +1167,18 @@ GetObjectTaggingOutcome S3Client::GetObjectTagging(const GetObjectTaggingRequest 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetObjectTagging, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); Aws::StringStream ss; - ss << "/"; - ss << request.GetKey(); - uri.SetPath(uri.GetPath() + ss.str()); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetObjectTaggingOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetObjectTorrentOutcome S3Client::GetObjectTorrent(const GetObjectTorrentRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetObjectTorrent, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("GetObjectTorrent", "Required field: Bucket, is not set"); @@ -2122,114 +1189,47 @@ GetObjectTorrentOutcome S3Client::GetObjectTorrent(const GetObjectTorrentRequest 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetObjectTorrent, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); Aws::StringStream ss; - ss << "/"; - ss << request.GetKey(); - uri.SetPath(uri.GetPath() + ss.str()); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetObjectTorrentOutcome(MakeRequestWithUnparsedResponse(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } GetPublicAccessBlockOutcome S3Client::GetPublicAccessBlock(const GetPublicAccessBlockRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetPublicAccessBlock, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetPublicAccessBlock, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return GetPublicAccessBlockOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } HeadBucketOutcome S3Client::HeadBucket(const HeadBucketRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HeadBucket, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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); + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, HeadBucket, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return HeadBucketOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_HEAD)); } HeadObjectOutcome S3Client::HeadObject(const HeadObjectRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HeadObject, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("HeadObject", "Required field: Bucket, is not set"); @@ -2240,364 +1240,149 @@ HeadObjectOutcome S3Client::HeadObject(const HeadObjectRequest& request) const 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); + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, HeadObject, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); + return HeadObjectOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_HEAD)); } ListBucketAnalyticsConfigurationsOutcome S3Client::ListBucketAnalyticsConfigurations(const ListBucketAnalyticsConfigurationsRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListBucketAnalyticsConfigurations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListBucketAnalyticsConfigurations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return ListBucketAnalyticsConfigurationsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } ListBucketIntelligentTieringConfigurationsOutcome S3Client::ListBucketIntelligentTieringConfigurations(const ListBucketIntelligentTieringConfigurationsRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListBucketIntelligentTieringConfigurations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListBucketIntelligentTieringConfigurations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return ListBucketIntelligentTieringConfigurationsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } ListBucketInventoryConfigurationsOutcome S3Client::ListBucketInventoryConfigurations(const ListBucketInventoryConfigurationsRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListBucketInventoryConfigurations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListBucketInventoryConfigurations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return ListBucketInventoryConfigurationsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } ListBucketMetricsConfigurationsOutcome S3Client::ListBucketMetricsConfigurations(const ListBucketMetricsConfigurationsRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListBucketMetricsConfigurations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListBucketMetricsConfigurations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return ListBucketMetricsConfigurationsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } 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); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListBuckets, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + const Aws::Vector<Aws::Endpoint::EndpointParameter> staticEndpointParameters; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(staticEndpointParameters); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListBuckets, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListBucketsOutcome(MakeRequest(endpointResolutionOutcome.GetResult(), "ListBuckets", Aws::Http::HttpMethod::HTTP_GET)); } ListMultipartUploadsOutcome S3Client::ListMultipartUploads(const ListMultipartUploadsRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListMultipartUploads, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListMultipartUploads, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return ListMultipartUploadsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } ListObjectVersionsOutcome S3Client::ListObjectVersions(const ListObjectVersionsRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListObjectVersions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListObjectVersions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return ListObjectVersionsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } ListObjectsOutcome S3Client::ListObjects(const ListObjectsRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListObjects, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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); + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListObjects, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListObjectsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } ListObjectsV2Outcome S3Client::ListObjectsV2(const ListObjectsV2Request& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListObjectsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListObjectsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return ListObjectsV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } ListPartsOutcome S3Client::ListParts(const ListPartsRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListParts, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("ListParts", "Required field: Bucket, is not set"); @@ -2613,113 +1398,47 @@ ListPartsOutcome S3Client::ListParts(const ListPartsRequest& request) const 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); + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListParts, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); + return ListPartsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); } PutBucketAccelerateConfigurationOutcome S3Client::PutBucketAccelerateConfiguration(const PutBucketAccelerateConfigurationRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutBucketAccelerateConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutBucketAccelerateConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return PutBucketAccelerateConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } PutBucketAclOutcome S3Client::PutBucketAcl(const PutBucketAclRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutBucketAcl, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutBucketAcl, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return PutBucketAclOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } PutBucketAnalyticsConfigurationOutcome S3Client::PutBucketAnalyticsConfiguration(const PutBucketAnalyticsConfigurationRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutBucketAnalyticsConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("PutBucketAnalyticsConfiguration", "Required field: Bucket, is not set"); @@ -2730,112 +1449,49 @@ PutBucketAnalyticsConfigurationOutcome S3Client::PutBucketAnalyticsConfiguration 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutBucketAnalyticsConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return PutBucketAnalyticsConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } PutBucketCorsOutcome S3Client::PutBucketCors(const PutBucketCorsRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutBucketCors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutBucketCors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return PutBucketCorsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } PutBucketEncryptionOutcome S3Client::PutBucketEncryption(const PutBucketEncryptionRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutBucketEncryption, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutBucketEncryption, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return PutBucketEncryptionOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } PutBucketIntelligentTieringConfigurationOutcome S3Client::PutBucketIntelligentTieringConfiguration(const PutBucketIntelligentTieringConfigurationRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutBucketIntelligentTieringConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("PutBucketIntelligentTieringConfiguration", "Required field: Bucket, is not set"); @@ -2846,38 +1502,17 @@ PutBucketIntelligentTieringConfigurationOutcome S3Client::PutBucketIntelligentTi 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutBucketIntelligentTieringConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return PutBucketIntelligentTieringConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } PutBucketInventoryConfigurationOutcome S3Client::PutBucketInventoryConfiguration(const PutBucketInventoryConfigurationRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutBucketInventoryConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("PutBucketInventoryConfiguration", "Required field: Bucket, is not set"); @@ -2888,112 +1523,49 @@ PutBucketInventoryConfigurationOutcome S3Client::PutBucketInventoryConfiguration 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutBucketInventoryConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return PutBucketInventoryConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } PutBucketLifecycleConfigurationOutcome S3Client::PutBucketLifecycleConfiguration(const PutBucketLifecycleConfigurationRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutBucketLifecycleConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutBucketLifecycleConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return PutBucketLifecycleConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } PutBucketLoggingOutcome S3Client::PutBucketLogging(const PutBucketLoggingRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutBucketLogging, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutBucketLogging, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return PutBucketLoggingOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } PutBucketMetricsConfigurationOutcome S3Client::PutBucketMetricsConfiguration(const PutBucketMetricsConfigurationRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutBucketMetricsConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("PutBucketMetricsConfiguration", "Required field: Bucket, is not set"); @@ -3004,334 +1576,145 @@ PutBucketMetricsConfigurationOutcome S3Client::PutBucketMetricsConfiguration(con 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutBucketMetricsConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return PutBucketMetricsConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } PutBucketNotificationConfigurationOutcome S3Client::PutBucketNotificationConfiguration(const PutBucketNotificationConfigurationRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutBucketNotificationConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutBucketNotificationConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return PutBucketNotificationConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } PutBucketOwnershipControlsOutcome S3Client::PutBucketOwnershipControls(const PutBucketOwnershipControlsRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutBucketOwnershipControls, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutBucketOwnershipControls, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return PutBucketOwnershipControlsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } PutBucketPolicyOutcome S3Client::PutBucketPolicy(const PutBucketPolicyRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutBucketPolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutBucketPolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return PutBucketPolicyOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } PutBucketReplicationOutcome S3Client::PutBucketReplication(const PutBucketReplicationRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutBucketReplication, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutBucketReplication, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return PutBucketReplicationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } PutBucketRequestPaymentOutcome S3Client::PutBucketRequestPayment(const PutBucketRequestPaymentRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutBucketRequestPayment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutBucketRequestPayment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return PutBucketRequestPaymentOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } PutBucketTaggingOutcome S3Client::PutBucketTagging(const PutBucketTaggingRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutBucketTagging, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutBucketTagging, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return PutBucketTaggingOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } PutBucketVersioningOutcome S3Client::PutBucketVersioning(const PutBucketVersioningRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutBucketVersioning, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutBucketVersioning, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return PutBucketVersioningOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } PutBucketWebsiteOutcome S3Client::PutBucketWebsite(const PutBucketWebsiteRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutBucketWebsite, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutBucketWebsite, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return PutBucketWebsiteOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } PutObjectOutcome S3Client::PutObject(const PutObjectRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutObject, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("PutObject", "Required field: Bucket, is not set"); @@ -3342,17 +1725,10 @@ PutObjectOutcome S3Client::PutObject(const PutObjectRequest& request) const 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*/)); + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutObject, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); + return PutObjectOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } PutObjectOutcomeCallable S3Client::PutObjectCallable(const PutObjectRequest& request) const @@ -3365,16 +1741,15 @@ PutObjectOutcomeCallable S3Client::PutObjectCallable(const PutObjectRequest& req 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); + m_executor->Submit( [this, request, handler, context]() + { + handler(this, request, PutObject(request), context); + } ); } PutObjectAclOutcome S3Client::PutObjectAcl(const PutObjectAclRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutObjectAcl, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("PutObjectAcl", "Required field: Bucket, is not set"); @@ -3385,41 +1760,18 @@ PutObjectAclOutcome S3Client::PutObjectAcl(const PutObjectAclRequest& request) c 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutObjectAcl, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); Aws::StringStream ss; - ss << "/"; - ss << request.GetKey(); - uri.SetPath(uri.GetPath() + ss.str()); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return PutObjectAclOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } PutObjectLegalHoldOutcome S3Client::PutObjectLegalHold(const PutObjectLegalHoldRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutObjectLegalHold, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("PutObjectLegalHold", "Required field: Bucket, is not set"); @@ -3430,78 +1782,34 @@ PutObjectLegalHoldOutcome S3Client::PutObjectLegalHold(const PutObjectLegalHoldR 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutObjectLegalHold, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); Aws::StringStream ss; - ss << "/"; - ss << request.GetKey(); - uri.SetPath(uri.GetPath() + ss.str()); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return PutObjectLegalHoldOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } PutObjectLockConfigurationOutcome S3Client::PutObjectLockConfiguration(const PutObjectLockConfigurationRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutObjectLockConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutObjectLockConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return PutObjectLockConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } PutObjectRetentionOutcome S3Client::PutObjectRetention(const PutObjectRetentionRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutObjectRetention, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("PutObjectRetention", "Required field: Bucket, is not set"); @@ -3512,41 +1820,18 @@ PutObjectRetentionOutcome S3Client::PutObjectRetention(const PutObjectRetentionR 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutObjectRetention, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); Aws::StringStream ss; - ss << "/"; - ss << request.GetKey(); - uri.SetPath(uri.GetPath() + ss.str()); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return PutObjectRetentionOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } PutObjectTaggingOutcome S3Client::PutObjectTagging(const PutObjectTaggingRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutObjectTagging, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("PutObjectTagging", "Required field: Bucket, is not set"); @@ -3557,78 +1842,34 @@ PutObjectTaggingOutcome S3Client::PutObjectTagging(const PutObjectTaggingRequest 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutObjectTagging, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); Aws::StringStream ss; - ss << "/"; - ss << request.GetKey(); - uri.SetPath(uri.GetPath() + ss.str()); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return PutObjectTaggingOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } PutPublicAccessBlockOutcome S3Client::PutPublicAccessBlock(const PutPublicAccessBlockRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutPublicAccessBlock, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutPublicAccessBlock, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return PutPublicAccessBlockOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } RestoreObjectOutcome S3Client::RestoreObject(const RestoreObjectRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, RestoreObject, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("RestoreObject", "Required field: Bucket, is not set"); @@ -3639,41 +1880,18 @@ RestoreObjectOutcome S3Client::RestoreObject(const RestoreObjectRequest& request 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, RestoreObject, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); Aws::StringStream ss; - ss << "/"; - ss << request.GetKey(); - uri.SetPath(uri.GetPath() + ss.str()); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); 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); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return RestoreObjectOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); } SelectObjectContentOutcome S3Client::SelectObjectContent(SelectObjectContentRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, SelectObjectContent, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("SelectObjectContent", "Required field: Bucket, is not set"); @@ -3684,44 +1902,21 @@ SelectObjectContentOutcome S3Client::SelectObjectContent(SelectObjectContentRequ 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; + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, SelectObjectContent, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); Aws::StringStream ss; - ss << "/"; - ss << request.GetKey(); - uri.SetPath(uri.GetPath() + ss.str()); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); ss.str("?select&select-type=2"); - uri.SetQueryString(ss.str()); + endpointResolutionOutcome.GetResult().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); + return SelectObjectContentOutcome(MakeRequestWithEventStream(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); } UploadPartOutcome S3Client::UploadPart(const UploadPartRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UploadPart, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("UploadPart", "Required field: Bucket, is not set"); @@ -3742,39 +1937,15 @@ UploadPartOutcome S3Client::UploadPart(const UploadPartRequest& request) const 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); + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UploadPart, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); + return UploadPartOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } UploadPartCopyOutcome S3Client::UploadPartCopy(const UploadPartCopyRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UploadPartCopy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.BucketHasBeenSet()) { AWS_LOGSTREAM_ERROR("UploadPartCopy", "Required field: Bucket, is not set"); @@ -3800,39 +1971,15 @@ UploadPartCopyOutcome S3Client::UploadPartCopy(const UploadPartCopyRequest& requ 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); + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UploadPartCopy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); + return UploadPartCopyOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); } WriteGetObjectResponseOutcome S3Client::WriteGetObjectResponse(const WriteGetObjectResponseRequest& request) const { + AWS_OPERATION_CHECK_PTR(m_endpointProvider, WriteGetObjectResponse, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); if (!request.RequestRouteHasBeenSet()) { AWS_LOGSTREAM_ERROR("WriteGetObjectResponse", "Required field: RequestRoute, is not set"); @@ -3843,349 +1990,123 @@ WriteGetObjectResponseOutcome S3Client::WriteGetObjectResponse(const WriteGetObj AWS_LOGSTREAM_ERROR("WriteGetObjectResponse", "Required field: RequestToken, is not set"); return WriteGetObjectResponseOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [RequestToken]", false)); } - ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointStringWithServiceName("s3-object-lambda"); - if (!computeEndpointOutcome.IsSuccess()) - { - return WriteGetObjectResponseOutcome(computeEndpointOutcome.GetError()); - } - Aws::Http::URI uri = computeEndpointOutcome.GetResult().endpoint; - if (m_enableHostPrefixInjection) - { - if (request.GetRequestRoute().empty()) - { - AWS_LOGSTREAM_ERROR("WriteGetObjectResponse", "HostPrefix required field: RequestRoute, is empty"); - return WriteGetObjectResponseOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::INVALID_PARAMETER_VALUE, "INVALID_PARAMETER", "Host prefix field is empty", false)); - } - uri.SetAuthority("" + request.GetRequestRoute() + "." + uri.GetAuthority()); - if (!Aws::Utils::IsValidHost(uri.GetAuthority())) - { - AWS_LOGSTREAM_ERROR("WriteGetObjectResponse", "Invalid DNS host: " << uri.GetAuthority()); - return WriteGetObjectResponseOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::INVALID_PARAMETER_VALUE, "INVALID_PARAMETER", "Host is invalid", false)); - } - } - Aws::StringStream ss; - ss << "/WriteGetObjectResponse"; - uri.SetPath(uri.GetPath() + ss.str()); - return WriteGetObjectResponseOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER, computeEndpointOutcome.GetResult().signerRegion.c_str() /*signerRegionOverride*/, computeEndpointOutcome.GetResult().signerServiceName.c_str() /*signerServiceNameOverride*/)); + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, WriteGetObjectResponse, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("" + request.GetRequestRoute() + "."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), WriteGetObjectResponseOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/WriteGetObjectResponse"); + return WriteGetObjectResponseOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); } -WriteGetObjectResponseOutcomeCallable S3Client::WriteGetObjectResponseCallable(const WriteGetObjectResponseRequest& request) const -{ - auto task = Aws::MakeShared< std::packaged_task< WriteGetObjectResponseOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->WriteGetObjectResponse(request); } ); - auto packagedFunction = [task]() { (*task)(); }; - m_executor->Submit(packagedFunction); - return task->get_future(); -} -void S3Client::WriteGetObjectResponseAsync(const WriteGetObjectResponseRequest& request, const WriteGetObjectResponseResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const -{ - m_executor->Submit( [this, request, handler, context](){ this->WriteGetObjectResponseAsyncHelper( request, handler, context ); } ); -} -void S3Client::WriteGetObjectResponseAsyncHelper(const WriteGetObjectResponseRequest& request, const WriteGetObjectResponseResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const -{ - handler(this, request, WriteGetObjectResponse(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) +#include<aws/core/utils/HashingUtils.h> +Aws::String S3Client::GeneratePresignedUrl(const Aws::String& bucket, + const Aws::String& key, + Aws::Http::HttpMethod method, + uint64_t expirationInSeconds) { - 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; - } + return GeneratePresignedUrl(bucket, key, method, {}, expirationInSeconds); } -#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) +Aws::String S3Client::GeneratePresignedUrl(const Aws::String& bucket, + const Aws::String& key, + Aws::Http::HttpMethod method, + const Http::HeaderValueCollection& customizedHeaders, + uint64_t expirationInSeconds) { - ComputeEndpointOutcome computeEndpointOutcome = ComputeEndpointString(bucket); - if (!computeEndpointOutcome.IsSuccess()) + if (!m_endpointProvider) { - AWS_LOGSTREAM_ERROR(ALLOCATION_TAG, "Presigned URL generating failed. Encountered error: " << computeEndpointOutcome.GetError()); + AWS_LOGSTREAM_ERROR(ALLOCATION_TAG, "Presigned URL generating failed. Endpoint provider is not initialized."); 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); + ResolveEndpointOutcome computeEndpointOutcome = m_endpointProvider->ResolveEndpoint({{Aws::String("Bucket"), bucket}}); if (!computeEndpointOutcome.IsSuccess()) { - AWS_LOGSTREAM_ERROR(ALLOCATION_TAG, "Presigned URL generating failed. Encountered error: " << computeEndpointOutcome.GetError()); + AWS_LOGSTREAM_ERROR(ALLOCATION_TAG, "Presigned URL generating failed. Encountered error: " << computeEndpointOutcome.GetError().GetMessage()); 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::Endpoint::AWSEndpoint& endpoint = computeEndpointOutcome.GetResult(); + URI uri(endpoint.GetURL()); + uri.SetPath(uri.GetPath() + "/" + key); + endpoint.SetURL(uri.GetURIString()); + return AWSClient::GeneratePresignedUrl(endpoint, method, customizedHeaders, expirationInSeconds); } -Aws::String S3Client::GeneratePresignedUrlWithSSES3(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, long long expirationInSeconds) +Aws::String S3Client::GeneratePresignedUrlWithSSES3(const Aws::String& bucket, + const Aws::String& key, + Aws::Http::HttpMethod method, + uint64_t 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); + return GeneratePresignedUrl(bucket, key, method, headers, expirationInSeconds); } -Aws::String S3Client::GeneratePresignedUrlWithSSES3(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, Http::HeaderValueCollection customizedHeaders, long long expirationInSeconds) +Aws::String S3Client::GeneratePresignedUrlWithSSES3(const Aws::String& bucket, + const Aws::String& key, + Aws::Http::HttpMethod method, + Http::HeaderValueCollection customizedHeaders, + uint64_t 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); + return GeneratePresignedUrl(bucket, key, method, 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) +Aws::String S3Client::GeneratePresignedUrlWithSSEKMS(const Aws::String& bucket, + const Aws::String& key, + Aws::Http::HttpMethod method, + const Aws::String& kmsMasterKeyId, + uint64_t 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); + return GeneratePresignedUrl(bucket, key, method, 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) +Aws::String S3Client::GeneratePresignedUrlWithSSEKMS(const Aws::String& bucket, + const Aws::String& key, + Aws::Http::HttpMethod method, + Http::HeaderValueCollection customizedHeaders, + const Aws::String& kmsMasterKeyId, + uint64_t 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); + return GeneratePresignedUrl(bucket, key, method, 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) +Aws::String S3Client::GeneratePresignedUrlWithSSEC(const Aws::String& bucket, + const Aws::String& key, + Aws::Http::HttpMethod method, + const Aws::String& base64EncodedAES256Key, + uint64_t 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); + return GeneratePresignedUrl(bucket, key, method, 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) +Aws::String S3Client::GeneratePresignedUrlWithSSEC(const Aws::String& bucket, + const Aws::String& key, + Aws::Http::HttpMethod method, + Http::HeaderValueCollection customizedHeaders, + const Aws::String& base64EncodedAES256Key, + uint64_t 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); + return GeneratePresignedUrl(bucket, key, method, customizedHeaders, expirationInSeconds); } -ComputeEndpointOutcome S3Client::ComputeEndpointString(const Aws::String& bucketOrArn) const -{ - if (m_useDualStack && m_useCustomEndpoint) - { - return ComputeEndpointOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::VALIDATION, "VALIDATION", - "Dual-stack endpoint is incompatible with a custom endpoint override.", false)); - } - - 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_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.GetService() == ARNService::S3_OBJECT_LAMBDA) - { - if (m_useDualStack) - { - return ComputeEndpointOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::VALIDATION, "VALIDATION", - "S3 Object Lambda Access Point ARNs do not support dualstack right now.", false)); - } - ss << S3Endpoint::ForObjectLambdaAccessPointArn(arn, m_useArnRegion ? "" : m_region, m_useDualStack, m_useCustomEndpoint ? m_baseUri : ""); - return ComputeEndpointOutcome(ComputeEndpointResult(ss.str(), signerRegion, ARNService::S3_OBJECT_LAMBDA)); - } - else if (arn.GetResourceType() == ARNResourceType::ACCESSPOINT) - { - ss << S3Endpoint::ForAccessPointArn(arn, m_useArnRegion ? "" : m_region, m_useDualStack, m_useCustomEndpoint ? m_baseUri : ""); - 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, m_useDualStack, m_useCustomEndpoint ? m_baseUri : ""); - 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 -{ - if (m_useDualStack && m_useCustomEndpoint) - { - return ComputeEndpointOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::VALIDATION, "VALIDATION", - "Dual-stack endpoint is incompatible with a custom endpoint override.", false)); - } - Aws::StringStream ss; - ss << m_scheme << "://" << m_baseUri; - return ComputeEndpointOutcome(ComputeEndpointResult(ss.str(), Aws::Region::ComputeSignerRegion(m_region), SERVICE_NAME)); -} - -ComputeEndpointOutcome S3Client::ComputeEndpointStringWithServiceName(const Aws::String& serviceNameOverride) const -{ - if (serviceNameOverride.empty()) - { - return ComputeEndpointString(); - } - - if (m_useDualStack && m_useCustomEndpoint) - { - return ComputeEndpointOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::VALIDATION, "VALIDATION", - "Dual-stack endpoint is incompatible with a custom endpoint override.", false)); - } - - Aws::StringStream ss; - ss << m_scheme << "://"; - if (m_useCustomEndpoint) - { - ss << m_baseUri; - return ComputeEndpointOutcome(ComputeEndpointResult(ss.str(), Aws::Region::ComputeSignerRegion(m_region), serviceNameOverride)); - } - else - { - if (m_useDualStack) - { - return ComputeEndpointOutcome(Aws::Client::AWSError<S3Errors>(S3Errors::VALIDATION, "VALIDATION", - "S3 Object Lambda endpoints do not support dualstack right now.", false)); - } - else - { - ss << S3Endpoint::ForRegion(m_region, m_useDualStack, true, serviceNameOverride); - return ComputeEndpointOutcome(ComputeEndpointResult(ss.str(), Aws::Region::ComputeSignerRegion(m_region), serviceNameOverride)); - } - } -} bool S3Client::MultipartUploadSupported() const { diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ClientConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ClientConfiguration.cpp new file mode 100644 index 0000000000..0e379b3dad --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ClientConfiguration.cpp @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/S3ClientConfiguration.h> + +namespace Aws +{ +namespace S3 +{ + +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_DISABLE_MULTIREGION_ACCESS_POINTS_ENV_VAR[] = "AWS_S3_DISABLE_MULTIREGION_ACCESS_POINTS"; +static const char S3_DISABLE_MULTIREGION_ACCESS_POINTS_CONFIG_VAR[] = "s3_disable_multiregion_access_points"; +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 S3ClientConfiguration::LoadS3SpecificConfig(const Aws::String& inputProfileName) +{ + if (Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET == this->useUSEast1RegionalEndPointOption) + { + const Aws::String& useUSEastOption = + BaseClientConfigClass::LoadConfigFromEnvOrProfile(US_EAST_1_REGIONAL_ENDPOINT_ENV_VAR, + inputProfileName, + US_EAST_1_REGIONAL_ENDPOINT_CONFIG_VAR, + {"legacy", "regional"}, + "regional"); + if (useUSEastOption == "legacy") { + this->useUSEast1RegionalEndPointOption = Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION::LEGACY; + } else { + this->useUSEast1RegionalEndPointOption = Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION::REGIONAL; + } + } + + Aws::String s3DisableMultiRegionAccessPoints = ClientConfiguration::LoadConfigFromEnvOrProfile(S3_DISABLE_MULTIREGION_ACCESS_POINTS_ENV_VAR, + inputProfileName, + S3_DISABLE_MULTIREGION_ACCESS_POINTS_CONFIG_VAR, + {"true", "false"}, + "false"); + if (s3DisableMultiRegionAccessPoints == "true") + { + disableMultiRegionAccessPoints = true; + } + Aws::String useArnRegionCfg = ClientConfiguration::LoadConfigFromEnvOrProfile(S3_USE_ARN_REGION_ENVIRONMENT_VARIABLE, + inputProfileName, + S3_USE_ARN_REGION_CONFIG_FILE_OPTION, + {"true", "false"}, + "false"); + if (useArnRegionCfg == "true") + { + useArnRegion = true; + } +} + +S3ClientConfiguration::S3ClientConfiguration() +: BaseClientConfigClass() +{ + LoadS3SpecificConfig(this->profileName); +} + +S3ClientConfiguration::S3ClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) +: BaseClientConfigClass(inputProfileName, shouldDisableIMDS) +{ + LoadS3SpecificConfig(Aws::String(inputProfileName)); +} + +S3ClientConfiguration::S3ClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) +: BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) +{ + LoadS3SpecificConfig(this->profileName); +} + +S3ClientConfiguration::S3ClientConfiguration(const Client::ClientConfiguration& config, + Client::AWSAuthV4Signer::PayloadSigningPolicy iPayloadSigningPolicy, + bool iUseVirtualAddressing, + US_EAST_1_REGIONAL_ENDPOINT_OPTION iUseUSEast1RegionalEndPointOption) + : BaseClientConfigClass(config), + useVirtualAddressing(iUseVirtualAddressing), + useUSEast1RegionalEndPointOption(iUseUSEast1RegionalEndPointOption), + payloadSigningPolicy(iPayloadSigningPolicy) +{ + LoadS3SpecificConfig(this->profileName); +} + + +} // namespace S3 +} // namespace Aws 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 deleted file mode 100644 index d684a11a44..0000000000 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Endpoint.cpp +++ /dev/null @@ -1,221 +0,0 @@ -/** - * 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 S3_EXTERNAL_1_HASH = Aws::Utils::HashingUtils::HashString("s3-external-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& endpointOverride) - { - Aws::StringStream ss; - - if (!endpointOverride.empty()) - { - ss << arn.GetResourceId() << "-" << arn.GetAccountId() << "." << endpointOverride; - return ss.str(); - } - - const Aws::String& region = regionNameOverride.empty() ? arn.GetRegion() : regionNameOverride; - auto hash = Aws::Utils::HashingUtils::HashString(region.c_str()); - - 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, bool useDualStack, const Aws::String& endpointOverride) - { - AWS_UNREFERENCED_PARAM(useDualStack); - assert(!useDualStack); - Aws::StringStream ss; - - if (!endpointOverride.empty()) - { - ss << arn.GetSubResourceId() << "-" << arn.GetAccountId() << "." << arn.GetResourceId() << "." << endpointOverride; - return ss.str(); - } - - const Aws::String& region = regionNameOverride.empty() ? arn.GetRegion() : regionNameOverride; - auto hash = Aws::Utils::HashingUtils::HashString(region.c_str()); - - ss << arn.GetSubResourceId() << "-" << arn.GetAccountId() << "." << arn.GetResourceId() << "." << ARNService::S3_OUTPOSTS << "." << region << "." << "amazonaws.com"; - - if (hash == CN_NORTH_1_HASH || hash == CN_NORTHWEST_1_HASH) - { - ss << ".cn"; - } - - return ss.str(); - } - - Aws::String ForObjectLambdaAccessPointArn(const S3ARN& arn, const Aws::String& regionNameOverride, bool useDualStack, const Aws::String& endpointOverride) - { - AWS_UNREFERENCED_PARAM(useDualStack); - assert(!useDualStack); - Aws::StringStream ss; - - if (!endpointOverride.empty()) - { - ss << arn.GetResourceId() << "-" << arn.GetAccountId() << "." << endpointOverride; - return ss.str(); - } - - Aws::String region = regionNameOverride.empty() ? arn.GetRegion() : regionNameOverride; - Aws::String fipsSuffix = ""; - if (region.size() >= 5 && region.compare(0, 5, "fips-") == 0) - { - region = region.substr(5); - fipsSuffix = "-fips"; - } - else if (region.size() >= 5 && region.compare(region.size() - 5, 5, "-fips") == 0) - { - region = region.substr(0, region.size() - 5); - fipsSuffix = "-fips"; - } - - ss << arn.GetResourceId() << "-" << arn.GetAccountId() << "." << ARNService::S3_OBJECT_LAMBDA << fipsSuffix << "." << region << "." << "amazonaws.com"; - - auto hash = Aws::Utils::HashingUtils::HashString(region.c_str()); - 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, const Aws::String& serviceName) - { - auto hash = Aws::Utils::HashingUtils::HashString(regionName.c_str()); - - if (!serviceName.empty()) - { - assert(!useDualStack); - - Aws::StringStream ss; - ss << serviceName; - - if (regionName.size() >= 5 && regionName.compare(0, 5, "fips-") == 0) - { - ss << "-fips." << regionName.substr(5); - } - else if (regionName.size() >= 5 && regionName.compare(regionName.size() - 5, 5, "-fips") == 0) - { - ss << "-fips." << regionName.substr(0, regionName.size() - 5); - } - else if (hash == AWS_GLOBAL_HASH || hash == S3_EXTERNAL_1_HASH) - { - ss << "." << Aws::Region::US_EAST_1; - } - else - { - ss << "." << regionName; - } - ss << ".amazonaws.com"; - if (hash == CN_NORTH_1_HASH || hash == CN_NORTHWEST_1_HASH) - { - ss << ".cn"; - } - return ss.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 == S3_EXTERNAL_1_HASH) - { - return "s3-external-1.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/S3EndpointProvider.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3EndpointProvider.cpp new file mode 100644 index 0000000000..32803417d4 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3EndpointProvider.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/S3EndpointProvider.h> + +namespace Aws +{ +namespace S3 +{ +namespace Endpoint +{ + void S3ClientContextParameters::SetForcePathStyle(bool value) + { + return SetBooleanParameter(Aws::String("ForcePathStyle"), value); + } + const S3ClientContextParameters::ClientContextParameters::EndpointParameter& S3ClientContextParameters::GetForcePathStyle() const + { + return GetParameter("ForcePathStyle"); + } + void S3ClientContextParameters::SetDisableMultiRegionAccessPoints(bool value) + { + return SetBooleanParameter(Aws::String("DisableMultiRegionAccessPoints"), value); + } + const S3ClientContextParameters::ClientContextParameters::EndpointParameter& S3ClientContextParameters::GetDisableMultiRegionAccessPoints() const + { + return GetParameter("DisableMultiRegionAccessPoints"); + } + void S3ClientContextParameters::SetUseArnRegion(bool value) + { + return SetBooleanParameter(Aws::String("UseArnRegion"), value); + } + const S3ClientContextParameters::ClientContextParameters::EndpointParameter& S3ClientContextParameters::GetUseArnRegion() const + { + return GetParameter("UseArnRegion"); + } + void S3ClientContextParameters::SetAccelerate(bool value) + { + return SetBooleanParameter(Aws::String("Accelerate"), value); + } + const S3ClientContextParameters::ClientContextParameters::EndpointParameter& S3ClientContextParameters::GetAccelerate() const + { + return GetParameter("Accelerate"); + } + void S3BuiltInParameters::SetFromClientConfiguration(const S3ClientConfiguration& config) + { + SetFromClientConfiguration(static_cast<const S3ClientConfiguration::BaseClientConfigClass&>(config)); + + static const char* AWS_S3_USE_GLOBAL_ENDPOINT = "UseGlobalEndpoint"; + if (config.useUSEast1RegionalEndPointOption == US_EAST_1_REGIONAL_ENDPOINT_OPTION::LEGACY) { + SetBooleanParameter(AWS_S3_USE_GLOBAL_ENDPOINT, true); + } + + // Not supported by this SDK: + // static const char* AWS_S3_ACCELERATE = "Accelerate"; + // static const char* AWS_S3_FORCE_PATH_STYLE = "ForcePathStyle"; + + static const char* AWS_S3_USE_ARN_REGION = "UseArnRegion"; + SetBooleanParameter(AWS_S3_USE_ARN_REGION, config.useArnRegion); + + static const char* AWS_S3_DISABLE_MRAP = "DisableMultiRegionAccessPoints"; + SetBooleanParameter(AWS_S3_DISABLE_MRAP, config.disableMultiRegionAccessPoints); + + static const char* AWS_S3_FORCE_PATH_STYLE = "ForcePathStyle"; + if (!config.useVirtualAddressing) { + SetBooleanParameter(AWS_S3_FORCE_PATH_STYLE, true); + } + } +} // namespace Endpoint +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3EndpointRules.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3EndpointRules.cpp new file mode 100644 index 0000000000..d855b8910f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3EndpointRules.cpp @@ -0,0 +1,4191 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/S3EndpointRules.h> +#include <aws/core/utils/memory/stl/AWSArray.h> + +namespace Aws +{ +namespace S3 +{ +const size_t S3EndpointRules::RulesBlobStrLen = 104103; +const size_t S3EndpointRules::RulesBlobSize = 104104; + +using RulesBlobT = Aws::Array<const char, S3EndpointRules::RulesBlobSize>; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','0','"',',','"','p','a','r','a','m','e','t', +'e','r','s','"',':','{','"','B','u','c','k','e','t','"',':','{','"','r','e','q','u','i','r','e','d', +'"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"', +'T','h','e',' ','S','3',' ','b','u','c','k','e','t',' ','u','s','e','d',' ','t','o',' ','s','e','n', +'d',' ','t','h','e',' ','r','e','q','u','e','s','t','.',' ','T','h','i','s',' ','i','s',' ','a','n', +' ','o','p','t','i','o','n','a','l',' ','p','a','r','a','m','e','t','e','r',' ','t','h','a','t',' ', +'w','i','l','l',' ','b','e',' ','s','e','t',' ','a','u','t','o','m','a','t','i','c','a','l','l','y', +' ','f','o','r',' ','o','p','e','r','a','t','i','o','n','s',' ','t','h','a','t',' ','a','r','e',' ', +'s','c','o','p','e','d',' ','t','o',' ','a','n',' ','S','3',' ','b','u','c','k','e','t','.','"',',', +'"','t','y','p','e','"',':','"','S','t','r','i','n','g','"','}',',','"','R','e','g','i','o','n','"', +':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','R','e','g','i','o','n','"', +',','"','r','e','q','u','i','r','e','d','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e', +'n','t','a','t','i','o','n','"',':','"','T','h','e',' ','A','W','S',' ','r','e','g','i','o','n',' ', +'u','s','e','d',' ','t','o',' ','d','i','s','p','a','t','c','h',' ','t','h','e',' ','r','e','q','u', +'e','s','t','.','"',',','"','t','y','p','e','"',':','"','S','t','r','i','n','g','"','}',',','"','U', +'s','e','F','I','P','S','"',':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':', +'U','s','e','F','I','P','S','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',', +'"','d','e','f','a','u','l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t', +'a','t','i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e',',',' ','s','e','n','d',' ','t', +'h','i','s',' ','r','e','q','u','e','s','t',' ','t','o',' ','t','h','e',' ','F','I','P','S','-','c', +'o','m','p','l','i','a','n','t',' ','r','e','g','i','o','n','a','l',' ','e','n','d','p','o','i','n', +'t','.',' ','I','f',' ','t','h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p', +'o','i','n','t',' ','d','o','e','s',' ','n','o','t',' ','h','a','v','e',' ','a',' ','F','I','P','S', +' ','c','o','m','p','l','i','a','n','t',' ','e','n','d','p','o','i','n','t',',',' ','d','i','s','p', +'a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e','s','t',' ','w','i','l','l',' ', +'r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"',',','"','t','y','p','e','"',':', +'"','B','o','o','l','e','a','n','"','}',',','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','D','u','a','l', +'S','t','a','c','k','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d', +'e','f','a','u','l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t', +'i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e',',',' ','u','s','e',' ','t','h','e',' ', +'d','u','a','l','-','s','t','a','c','k',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t', +'h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o', +'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','d','u','a','l','-','s','t','a','c','k', +',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e','s','t', +' ','M','A','Y',' ','r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"',',','"','t', +'y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','E','n','d','p','o','i','n','t', +'"',':','{','"','b','u','i','l','t','I','n','"',':','"','S','D','K',':',':','E','n','d','p','o','i', +'n','t','"',',','"','r','e','q','u','i','r','e','d','"',':','f','a','l','s','e',',','"','d','o','c', +'u','m','e','n','t','a','t','i','o','n','"',':','"','O','v','e','r','r','i','d','e',' ','t','h','e', +' ','e','n','d','p','o','i','n','t',' ','u','s','e','d',' ','t','o',' ','s','e','n','d',' ','t','h', +'i','s',' ','r','e','q','u','e','s','t','"',',','"','t','y','p','e','"',':','"','S','t','r','i','n', +'g','"','}',',','"','F','o','r','c','e','P','a','t','h','S','t','y','l','e','"',':','{','"','b','u', +'i','l','t','I','n','"',':','"','A','W','S',':',':','S','3',':',':','F','o','r','c','e','P','a','t', +'h','S','t','y','l','e','"',',','"','r','e','q','u','i','r','e','d','"',':','f','a','l','s','e',',', +'"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','W','h','e','n',' ','t','r','u', +'e',',',' ','f','o','r','c','e',' ','a',' ','p','a','t','h','-','s','t','y','l','e',' ','e','n','d', +'p','o','i','n','t',' ','t','o',' ','b','e',' ','u','s','e','d',' ','w','h','e','r','e',' ','t','h', +'e',' ','b','u','c','k','e','t',' ','n','a','m','e',' ','i','s',' ','p','a','r','t',' ','o','f',' ', +'t','h','e',' ','p','a','t','h','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a', +'n','"','}',',','"','A','c','c','e','l','e','r','a','t','e','"',':','{','"','b','u','i','l','t','I', +'n','"',':','"','A','W','S',':',':','S','3',':',':','A','c','c','e','l','e','r','a','t','e','"',',', +'"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u','l','t','"', +':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','W', +'h','e','n',' ','t','r','u','e',',',' ','u','s','e',' ','S','3',' ','A','c','c','e','l','e','r','a', +'t','e','.',' ','N','O','T','E',':',' ','N','o','t',' ','a','l','l',' ','r','e','g','i','o','n','s', +' ','s','u','p','p','o','r','t',' ','S','3',' ','a','c','c','e','l','e','r','a','t','e','.','"',',', +'"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','U','s','e','G','l','o', +'b','a','l','E','n','d','p','o','i','n','t','"',':','{','"','b','u','i','l','t','I','n','"',':','"', +'A','W','S',':',':','S','3',':',':','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n', +'t','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u', +'l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"', +':','"','W','h','e','t','h','e','r',' ','t','h','e',' ','g','l','o','b','a','l',' ','e','n','d','p', +'o','i','n','t',' ','s','h','o','u','l','d',' ','b','e',' ','u','s','e','d',',',' ','r','a','t','h', +'e','r',' ','t','h','e','n',' ','t','h','e',' ','r','e','g','i','o','n','a','l',' ','e','n','d','p', +'o','i','n','t',' ','f','o','r',' ','u','s','-','e','a','s','t','-','1','.','"',',','"','t','y','p', +'e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','U','s','e','O','b','j','e','c','t','L', +'a','m','b','d','a','E','n','d','p','o','i','n','t','"',':','{','"','r','e','q','u','i','r','e','d', +'"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"', +'I','n','t','e','r','n','a','l',' ','p','a','r','a','m','e','t','e','r',' ','t','o',' ','u','s','e', +' ','o','b','j','e','c','t',' ','l','a','m','b','d','a',' ','e','n','d','p','o','i','n','t',' ','f', +'o','r',' ','a','n',' ','o','p','e','r','a','t','i','o','n',' ','(','e','g',':',' ','W','r','i','t', +'e','G','e','t','O','b','j','e','c','t','R','e','s','p','o','n','s','e',')','"',',','"','t','y','p', +'e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','D','i','s','a','b','l','e','A','c','c', +'e','s','s','P','o','i','n','t','s','"',':','{','"','r','e','q','u','i','r','e','d','"',':','f','a', +'l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','I','n','t','e', +'r','n','a','l',' ','p','a','r','a','m','e','t','e','r',' ','t','o',' ','d','i','s','a','b','l','e', +' ','A','c','c','e','s','s',' ','P','o','i','n','t',' ','B','u','c','k','e','t','s','"',',','"','t', +'y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','D','i','s','a','b','l','e','M', +'u','l','t','i','R','e','g','i','o','n','A','c','c','e','s','s','P','o','i','n','t','s','"',':','{', +'"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','S','3',':',':','D','i','s','a','b', +'l','e','M','u','l','t','i','R','e','g','i','o','n','A','c','c','e','s','s','P','o','i','n','t','s', +'"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u','l', +'t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':', +'"','W','h','e','t','h','e','r',' ','m','u','l','t','i','-','r','e','g','i','o','n',' ','a','c','c', +'e','s','s',' ','p','o','i','n','t','s',' ','(','M','R','A','P',')',' ','s','h','o','u','l','d',' ', +'b','e',' ','d','i','s','a','b','l','e','d','.','"',',','"','t','y','p','e','"',':','"','B','o','o', +'l','e','a','n','"','}',',','"','U','s','e','A','r','n','R','e','g','i','o','n','"',':','{','"','b', +'u','i','l','t','I','n','"',':','"','A','W','S',':',':','S','3',':',':','U','s','e','A','r','n','R', +'e','g','i','o','n','"',',','"','r','e','q','u','i','r','e','d','"',':','f','a','l','s','e',',','"', +'d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','W','h','e','n',' ','a','n',' ','A', +'c','c','e','s','s',' ','P','o','i','n','t',' ','A','R','N',' ','i','s',' ','p','r','o','v','i','d', +'e','d',' ','a','n','d',' ','t','h','i','s',' ','f','l','a','g',' ','i','s',' ','e','n','a','b','l', +'e','d',',',' ','t','h','e',' ','S','D','K',' ','M','U','S','T',' ','u','s','e',' ','t','h','e',' ', +'A','R','N','\'','s',' ','r','e','g','i','o','n',' ','w','h','e','n',' ','c','o','n','s','t','r','u', +'c','t','i','n','g',' ','t','h','e',' ','e','n','d','p','o','i','n','t',' ','i','n','s','t','e','a', +'d',' ','o','f',' ','t','h','e',' ','c','l','i','e','n','t','\'','s',' ','c','o','n','f','i','g','u', +'r','e','d',' ','r','e','g','i','o','n','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l', +'e','a','n','"','}','}',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k', +'e','t','"','}',']','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',', +'4','9',',','5','0',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','h','a','r', +'d','w','a','r','e','T','y','p','e','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r', +'i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k', +'e','t','"','}',',','8',',','1','2',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':', +'"','r','e','g','i','o','n','P','r','e','f','i','x','"','}',',','{','"','f','n','"',':','"','s','u', +'b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'B','u','c','k','e','t','"','}',',','0',',','7',',','t','r','u','e',']',',','"','a','s','s','i','g', +'n','"',':','"','a','b','b','a','S','u','f','f','i','x','"','}',',','{','"','f','n','"',':','"','s', +'u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','B','u','c','k','e','t','"','}',',','3','2',',','4','9',',','t','r','u','e',']',',','"','a','s', +'s','i','g','n','"',':','"','o','u','t','p','o','s','t','I','d','"','}',',','{','"','f','n','"',':', +'"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"', +':','"','r','e','g','i','o','n','P','a','r','t','i','t','i','o','n','"','}',',','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','a','b','b','a','S','u','f','f','i','x','"','}',',','"','-','-','o','p', +'-','s','3','"',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','o','u','t','p','o','s','t','I','d','"','}',',','f', +'a','l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','h','a', +'r','d','w','a','r','e','T','y','p','e','"','}',',','"','e','"',']','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','r','e','g','i','o', +'n','P','r','e','f','i','x','"','}',',','"','b','e','t','a','"',']','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',']',',','"', +'e','r','r','o','r','"',':','"','E','x','p','e','c','t','e','d',' ','a',' ','e','n','d','p','o','i', +'n','t',' ','t','o',' ','b','e',' ','s','p','e','c','i','f','i','e','d',' ','b','u','t',' ','n','o', +' ','e','n','d','p','o','i','n','t',' ','w','a','s',' ','f','o','u','n','d','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"', +':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"', +'u','r','l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', +'"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','e','c','2','.','{','u','r', +'l','#','a','u','t','h','o','r','i','t','y','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', +'"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', +'"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'{','B','u','c','k','e','t','}','.','e','c','2','.','s','3','-','o','u','t','p','o','s','t','s','.', +'{','R','e','g','i','o','n','}','.','{','r','e','g','i','o','n','P','a','r','t','i','t','i','o','n', +'#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':', +'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', +'{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', +'s','3','-','o','u','t','p','o','s','t','s','"',',','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','h','a','r','d','w','a','r','e','T','y','p','e','"','}',',','"','o','"', +']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s', +'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','r','e','g','i','o','n','P','r','e','f','i','x','"','}',',','"','b','e','t','a','"', +']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n', +'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','E','x','p','e','c','t','e','d', +' ','a',' ','e','n','d','p','o','i','n','t',' ','t','o',' ','b','e',' ','s','p','e','c','i','f','i', +'e','d',' ','b','u','t',' ','n','o',' ','e','n','d','p','o','i','n','t',' ','w','a','s',' ','f','o', +'u','n','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', +'}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"', +'a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t', +'}','.','o','p','-','{','o','u','t','p','o','s','t','I','d','}','.','{','u','r','l','#','a','u','t', +'h','o','r','i','t','y','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g', +'i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o', +'u','t','p','o','s','t','s','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', +'e','t','}','.','o','p','-','{','o','u','t','p','o','s','t','I','d','}','.','s','3','-','o','u','t', +'p','o','s','t','s','.','{','R','e','g','i','o','n','}','.','{','r','e','g','i','o','n','P','a','r', +'t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', +'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','r','r','o','r','"',':','"','U','n','r','e','c','o','g','n','i','z','e','d',' ', +'h','a','r','d','w','a','r','e',' ','t','y','p','e',':',' ','\\','"','E','x','p','e','c','t','e','d', +' ','h','a','r','d','w','a','r','e',' ','t','y','p','e',' ','o',' ','o','r',' ','e',' ','b','u','t', +' ','g','o','t',' ','{','h','a','r','d','w','a','r','e','T','y','p','e','}','\\','"','"',',','"','t', +'y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', +'d',' ','A','R','N',':',' ','T','h','e',' ','o','u','t','p','o','s','t',' ','I','d',' ','m','u','s', +'t',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ', +'0','-','9',' ','a','n','d',' ','`','-','`','.','"',',','"','t','y','p','e','"',':','"','e','r','r', +'o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','B','u','c','k','e','t','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"', +':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', +'e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','p','a','r','s','e','U', +'R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', +'i','n','t','"','}',']','}',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','C','u','s', +'t','o','m',' ','e','n','d','p','o','i','n','t',' ','`','{','E','n','d','p','o','i','n','t','}','`', +' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','U','R','I','"',',','"','t','y', +'p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','F','o', +'r','c','e','P','a','t','h','S','t','y','l','e','"','}',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','F','o','r','c','e','P','a','t','h','S','t','y','l','e','"','}',',','t','r','u', +'e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','s','e','A', +'r','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e', +'t','"','}',']','}',']',',','"','e','r','r','o','r','"',':','"','P','a','t','h','-','s','t','y','l', +'e',' ','a','d','d','r','e','s','s','i','n','g',' ','c','a','n','n','o','t',' ','b','e',' ','u','s', +'e','d',' ','w','i','t','h',' ','A','R','N',' ','b','u','c','k','e','t','s','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','u','r','i','E','n','c','o','d','e','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']',',','"','a','s','s', +'i','g','n','"',':','"','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', +',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']',',','"','e','r','r','o', +'r','"',':','"','C','a','n','n','o','t',' ','s','e','t',' ','d','u','a','l','-','s','t','a','c','k', +' ','i','n',' ','c','o','m','b','i','n','a','t','i','o','n',' ','w','i','t','h',' ','a',' ','c','u', +'s','t','o','m',' ','e','n','d','p','o','i','n','t','.','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a', +'r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i', +'t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', +']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', +'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', +'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s', +'3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-', +'1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', +'f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"',',', +'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', +'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s', +'.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{', +'u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"', +'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', +'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', +'b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a', +'l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e', +'n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', +'d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E', +'n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f', +'i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', +'/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p', +'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', +':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n', +'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"', +'f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n', +'"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#', +'s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}', +'{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_', +'e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a', +'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', +'n','"',':','"','u','s','-','e','a','s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"', +'p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r', +'l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m', +'e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#', +'n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d', +'e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u', +'s','-','e','a','s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', +'s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', +'g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e', +'U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', +'g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':', +'/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r', +'m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_', +'b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g', +'i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', +'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R', +'L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', +'n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', +'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l', +'#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y', +'}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i', +'_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i', +'o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', +'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', +'a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', +'"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','u','s','-','e','a','s','t','-', +'1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', +'f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"',',', +'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', +'g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', +'u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', +',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p', +'s','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d', +'e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u', +'s','-','e','a','s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', +'s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', +'g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', +'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', +'i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', +'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', +'i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', +'t','p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', +'/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p', +'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', +':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n', +'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', +'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{', +'u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l', +'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', +'l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', +'l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.', +'u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d', +'_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i', +'g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-', +'e','a','s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', +':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', +'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n', +'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', +'/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.', +'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', +'x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"',',','"','s', +'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', +'t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', +'l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a', +'l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e', +'n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', +'d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l', +'E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.', +'d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i', +'t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r', +'i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', +'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}', +',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':', +'"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u', +'r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', +'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', +'e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', +'l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c', +'o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', +'"','u','s','-','e','a','s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', +':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', +'i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r', +'s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', +'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}', +':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o', +'r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d', +'_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i', +'g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-', +'e','a','s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', +':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', +'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R', +'L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', +'n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', +'l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#', +'s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}', +'{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_', +'e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a', +'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', +'n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', +'o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{', +'u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l', +'i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c', +'k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', +'S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', +'}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', +'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S', +'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', +'i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', +'}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',', +'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', +'a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G', +'l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s', +'c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{', +'u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e', +'n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', +'d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"', +'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', +'l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e', +'d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', +'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s', +'i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s', +'-','e','a','s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', +'"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', +'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', +'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', +'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', +'n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u', +'c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', +'h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s', +'t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', +'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', +'u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', +'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', +']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"', +'}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a', +'s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c', +'o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', +'"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', +'"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o','n','}', +'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', +'i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"', +',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', +'e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', +'n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s', +'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', +'g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', +'s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l', +'s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u', +'r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e', +'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e', +'E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', +'r','o','r','"',':','"','P','a','t','h','-','s','t','y','l','e',' ','a','d','d','r','e','s','s','i', +'n','g',' ','c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ','w','i','t','h',' ','S','3', +' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','r','r','o','r','"',':','"','A',' ','v','a','l','i','d',' ','p','a','r','t','i','t','i','o', +'n',' ','c','o','u','l','d',' ','n','o','t',' ','b','e',' ','d','e','t','e','r','m','i','n','e','d', +'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',']','}',']','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w', +'s','.','i','s','V','i','r','t','u','a','l','H','o','s','t','a','b','l','e','S','3','B','u','c','k', +'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e', +'t','"','}',',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"', +'a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L', +'a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', +'i','o','n','"','}',',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"', +'}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','c','n','"',']','}',']',',','"','e', +'r','r','o','r','"',':','"','P','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t', +' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r', +'r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', +'c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',', +'"','e','r','r','o','r','"',':','"','A','c','c','e','l','e','r','a','t','e',' ','c','a','n','n','o', +'t',' ','b','e',' ','u','s','e','d',' ','w','i','t','h',' ','F','I','P','S','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',', +'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','c','n','"',']','}',']',',', +'"','e','r','r','o','r','"',':','"','S','3',' ','A','c','c','e','l','e','r','a','t','e',' ','c','a', +'n','n','o','t',' ','b','e',' ','u','s','e','d',' ','i','n',' ','t','h','i','s',' ','r','e','g','i', +'o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', +']','}',']',',','"','e','r','r','o','r','"',':','"','H','o','s','t',' ','o','v','e','r','r','i','d', +'e',' ','c','a','n','n','o','t',' ','b','e',' ','c','o','m','b','i','n','e','d',' ','w','i','t','h', +' ','D','u','a','l','s','t','a','c','k',',',' ','F','I','P','S',',',' ','o','r',' ','S','3',' ','A', +'c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', +'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','H','o','s','t',' ','o','v','e','r','r', +'i','d','e',' ','c','a','n','n','o','t',' ','b','e',' ','c','o','m','b','i','n','e','d',' ','w','i', +'t','h',' ','D','u','a','l','s','t','a','c','k',',',' ','F','I','P','S',',',' ','o','r',' ','S','3', +' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e', +'"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','H','o','s','t',' ', +'o','v','e','r','r','i','d','e',' ','c','a','n','n','o','t',' ','b','e',' ','c','o','m','b','i','n', +'e','d',' ','w','i','t','h',' ','D','u','a','l','s','t','a','c','k',',',' ','F','I','P','S',',',' ', +'o','r',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a', +'t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', +']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', +'a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}', +'.','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s', +'t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v', +'4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a', +'s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s', +'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', +'l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.', +'d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', +'"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"',',','"','s','i', +'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D', +'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', +'c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', +'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', +'i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', +'g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', +',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}', +',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r', +'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', +'/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a', +'c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', +'d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a', +'t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', +'l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']', +'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', +'p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','d','u','a', +'l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e', +'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e', +'E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', +'t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l', +'e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o', +'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', +'}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', +'e','t','}','.','s','3','-','f','i','p','s','.','u','s','-','e','a','s','t','-','1','.','{','p','a', +'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"', +',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', +'e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', +'n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l', +'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', +',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"', +'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', +'/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','u','s','-','e','a','s', +'t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v', +'4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a', +'s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"', +':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l', +'E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i', +'p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', +'d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', +'u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r', +'a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', +'}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', +'g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e', +']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', +'t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','{','R', +'e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', +'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', +'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s', +'i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R', +'e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', +':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', +'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', +'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', +'b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c', +'e','l','e','r','a','t','e','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t', +'-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', +'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', +'h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s', +'t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', +'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', +'u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', +'t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', +'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', +'t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e', +'r','a','t','e','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.', +'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', +'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1', +'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',', +'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', +'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', +'i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', +'t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r', +'a','t','e','.','d','u','a','l','s','t','a','c','k','.','{','p','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i', +'o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l', +'e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', +']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', +'-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s', +'e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', +'t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e', +'r','a','t','e','.','d','u','a','l','s','t','a','c','k','.','{','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', +'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e', +'r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', +']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', +',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e', +'t','}','.','s','3','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1', +'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', +'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', +'c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', +'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-', +'1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s', +'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"', +']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', +'t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','d','u','a','l','s','t','a', +'c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a', +'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', +'n','"',':','"','u','s','-','e','a','s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r', +'a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', +'}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', +'g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', +'e','t','}','.','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}', +'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', +'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', +'c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', +'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}', +'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', +'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n', +'d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', +'e','t','}','.','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}', +'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', +'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', +'c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', +'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}', +'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"', +':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"', +'u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"', +'i','s','I','p','"',']','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l', +'#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y', +'}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','B','u','c', +'k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', +'S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t', +'-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d', +'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', +'e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s', +'e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f', +'n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"', +':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', +'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}', +',','"','i','s','I','p','"',']','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', +'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', +'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u', +'r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"',',','"','s', +'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a', +'r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p', +'"',']','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', +'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', +'e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', +'l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','B','u','c','k','e','t','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"',',', +'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"', +'p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r', +'l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s', +'I','p','"',']','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#', +'s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a', +'u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s', +'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c', +'c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', +'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U', +'R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', +'i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',', +'t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', +'w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r', +'u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', +'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1', +'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', +'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r', +'i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{', +'B','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g', +'i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', +'"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h', +'o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h', +'}','{','B','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', +'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s', +'i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R', +'e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', +':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"', +'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', +']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a', +'s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', +'l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l', +'o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', +'g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e', +'m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o', +'r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a', +'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', +'n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', +'o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{', +'B','u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u', +'r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i', +'g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', +'g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', +',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', +'t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', +'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}', +',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', +'}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s', +'s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','t','r','u','e',']','}',',','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s', +'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"', +']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b', +'a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e', +'m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l', +'#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','B','u','c','k','e','t','}','"', +',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', +'e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', +'n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s', +'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a', +'r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p', +'"',']','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', +'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t', +'"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B','u','c', +'k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#', +'p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', +'h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', +'n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d', +'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', +'e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', +'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', +'t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e', +'r','a','t','e','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', +'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e', +'a','s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', +',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', +'t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', +'l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', +'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', +'b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c', +'e','l','e','r','a','t','e','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', +'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u', +'s','-','e','a','s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', +'s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', +'g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', +'l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l', +'o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', +'g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{', +'B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','{','p','a', +'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"', +',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', +'e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', +'n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s', +'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', +'/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','{', +'p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', +'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h', +'e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',', +'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}', +',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o', +'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', +'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p', +'o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t', +'}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','{','p','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e', +'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e', +'E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e', +'l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n', +'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', +'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c', +'k','e','t','}','.','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', +'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u', +'s','-','e','a','s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', +'s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', +'g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"', +'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', +'g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',', +'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', +'-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3', +'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', +'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', +'c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', +'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-', +'1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', +'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n', +'d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', +',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t', +'}','.','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', +'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g', +'i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', +'"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','{','R','e','g', +'i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', +'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g', +'i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', +'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"', +'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', +'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', +'b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'{','B','u','c','k','e','t','}','.','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i', +'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D', +'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',']','}',']','}',']','}',']','}',']','}',']','}',']','}',']','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n', +'v','a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ', +'n','o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t', +'y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','A',' ','v','a','l','i', +'d',' ','p','a','r','t','i','t','i','o','n',' ','c','o','u','l','d',' ','n','o','t',' ','b','e',' ', +'d','e','t','e','r','m','i','n','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e', +'U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{', +'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','s','c','h','e','m','e','"',']', +'}',',','"','h','t','t','p','"',']','}',',','{','"','f','n','"',':','"','a','w','s','.','i','s','V', +'i','r','t','u','a','l','H','o','s','t','a','b','l','e','S','3','B','u','c','k','e','t','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f', +'a','l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g', +'n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', +',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s', +'c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u', +'t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e', +'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e', +'E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', +'r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o', +'n',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m', +'e','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', +'A',' ','v','a','l','i','d',' ','p','a','r','t','i','t','i','o','n',' ','c','o','u','l','d',' ','n', +'o','t',' ','b','e',' ','d','e','t','e','r','m','i','n','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','s','e','A','r','n','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']',',','"','a', +'s','s','i','g','n','"',':','"','b','u','c','k','e','t','A','r','n','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n', +'"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','0',']','"',']',',','"','a','s','s','i', +'g','n','"',':','"','a','r','n','T','y','p','e','"','}',',','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n', +'T','y','p','e','"','}',',','"','"',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e','"', +']','}',',','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',']','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'a','r','n','T','y','p','e','"','}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"', +'r','e','s','o','u','r','c','e','I','d','[','1',']','"',']',',','"','a','s','s','i','g','n','"',':', +'"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','"','"',']','}',']','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"', +'S','3',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t', +' ','s','u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']', +',','"','e','r','r','o','r','"',':','"','S','3',' ','O','b','j','e','c','t',' ','L','a','m','b','d', +'a',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c', +'e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r', +'e','g','i','o','n','"',']','}',',','"','"',']','}',']','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"','}',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','A','c','c','e','s','s', +'P','o','i','n','t','s','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','A','c','c','e','s','s',' ','p','o','i','n','t','s',' ','a','r','e',' ','n','o','t',' ','s','u', +'p','p','o','r','t','e','d',' ','f','o','r',' ','t','h','i','s',' ','o','p','e','r','a','t','i','o', +'n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',', +'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e', +'t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u', +'c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','2',']','"', +']','}',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g', +'i','o','n','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A', +'r','n','R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','{', +'R','e','g','i','o','n','}','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n', +'v','a','l','i','d',' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','r','e','g','i', +'o','n',' ','f','r','o','m',' ','A','R','N',' ','`','{','b','u','c','k','e','t','A','r','n','#','r', +'e','g','i','o','n','}','`',' ','d','o','e','s',' ','n','o','t',' ','m','a','t','c','h',' ','c','l', +'i','e','n','t',' ','r','e','g','i','o','n',' ','`','{','R','e','g','i','o','n','}','`',' ','a','n', +'d',' ','U','s','e','A','r','n','R','e','g','i','o','n',' ','i','s',' ','`','f','a','l','s','e','`', +'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e', +'g','i','o','n','"',']','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t', +'P','a','r','t','i','t','i','o','n','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w', +'s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',',', +'"','n','a','m','e','"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',']','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',', +'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}', +',','"','r','e','g','i','o','n','"',']','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','a','c','c', +'o','u','n','t','I','d','"',']','}',',','"','"',']','}',']',',','"','e','r','r','o','r','"',':','"', +'I','n','v','a','l','i','d',' ','A','R','N',':',' ','M','i','s','s','i','n','g',' ','a','c','c','o', +'u','n','t',' ','i','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b', +'e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t', +'A','r','n','"','}',',','"','a','c','c','o','u','n','t','I','d','"',']','}',',','f','a','l','s','e', +']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t', +'L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','c', +'c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','f','a','l','s','e',']','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', +',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t', +'P','a','r','t','i','t','i','o','n','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s', +'-','c','n','"',']','}',']',',','"','e','r','r','o','r','"',':','"','P','a','r','t','i','t','i','o', +'n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',', +'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s', +'e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#', +'s','c','h','e','m','e','}',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m', +'e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.', +'{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#', +'r','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', +'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', +'p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b', +'u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','o','b', +'j','e','c','t','-','l','a','m','b','d','a','-','f','i','p','s','.','{','b','u','c','k','e','t','A', +'r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i', +'o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e', +'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"',',','"','s','i', +'g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m', +'b','d','a','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n', +'t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t', +'I','d','}','.','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','.','{','b','u','c', +'k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r', +'t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', +'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"', +',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t', +'-','l','a','m','b','d','a','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', +']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', +'r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c', +'c','e','s','s',' ','p','o','i','n','t',' ','n','a','m','e',' ','m','a','y',' ','o','n','l','y',' ', +'c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d', +' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','a','c','c','e','s','s','P','o','i','n', +'t','N','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', +'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', +'o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c', +'o','u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ', +'a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o', +'u','n','d',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I', +'d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',']', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', +'"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':', +' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n', +'v','a','l','i','d',' ','D','N','S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c', +'o','n','f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`', +'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b', +'u','t',' ','A','R','N',' ','(','`','{','B','u','c','k','e','t','}','`',')',' ','h','a','s',' ','`', +'{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`','"',',', +'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','A',' ','v','a', +'l','i','d',' ','p','a','r','t','i','t','i','o','n',' ','c','o','u','l','d',' ','n','o','t',' ','b', +'e',' ','d','e','t','e','r','m','i','n','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r', +'o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','e','r','r','o','r','"',':','"','C','o','u','l','d',' ','n','o','t',' ','l','o','a','d',' ', +'p','a','r','t','i','t','i','o','n',' ','f','o','r',' ','A','R','N',' ','r','e','g','i','o','n',' ', +'`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`','"',',','"','t','y', +'p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',']','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', +'i','d',' ','A','R','N',':',' ','T','h','e',' ','A','R','N',' ','m','a','y',' ','o','n','l','y',' ', +'c','o','n','t','a','i','n',' ','a',' ','s','i','n','g','l','e',' ','r','e','s','o','u','r','c','e', +' ','c','o','m','p','o','n','e','n','t',' ','a','f','t','e','r',' ','`','a','c','c','e','s','s','p', +'o','i','n','t','`','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}', +']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', +'r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','b','u','c','k','e','t', +' ','A','R','N',' ','i','s',' ','m','i','s','s','i','n','g',' ','a',' ','r','e','g','i','o','n','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',']','}',']','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x','p','e','c','t','e','d',' ','a',' ', +'r','e','s','o','u','r','c','e',' ','o','f',' ','t','h','e',' ','f','o','r','m','a','t',' ','`','a', +'c','c','e','s','s','p','o','i','n','t',':','<','a','c','c','e','s','s','p','o','i','n','t',' ','n', +'a','m','e','>','`',' ','b','u','t',' ','n','o',' ','n','a','m','e',' ','w','a','s',' ','p','r','o', +'v','i','d','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', +'"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','O','b','j','e','c','t',' ','L','a', +'m','b','d','a',' ','A','R','N','s',' ','o','n','l','y',' ','s','u','p','p','o','r','t',' ','`','a', +'c','c','e','s','s','p','o','i','n','t','`',' ','a','r','n',' ','t','y','p','e','s',',',' ','b','u', +'t',' ','f','o','u','n','d',':',' ','`','{','a','r','n','T','y','p','e','}','`','"',',','"','t','y', +'p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n','T','y','p','e','"', +'}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}', +',','"','r','e','s','o','u','r','c','e','I','d','[','1',']','"',']',',','"','a','s','s','i','g','n', +'"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','"','"',']','}', +']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',', +'"','r','e','g','i','o','n','"',']','}',',','"','"',']','}',']','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n','T','y','p', +'e','"','}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"', +'}',',','"','r','e','g','i','o','n','"',']','}',',','"','"',']','}',']','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',', +'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"','}', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','A','c', +'c','e','s','s','P','o','i','n','t','s','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r', +'o','r','"',':','"','A','c','c','e','s','s',' ','p','o','i','n','t','s',' ','a','r','e',' ','n','o', +'t',' ','s','u','p','p','o','r','t','e','d',' ','f','o','r',' ','t','h','i','s',' ','o','p','e','r', +'a','t','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d', +'[','2',']','"',']','}',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S', +'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r', +'n','R','e','g','i','o','n','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','A','r','n','R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',',','{','"', +'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']', +'}',',','"','{','R','e','g','i','o','n','}','"',']','}',']','}',']',',','"','e','r','r','o','r','"', +':','"','I','n','v','a','l','i','d',' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ', +'r','e','g','i','o','n',' ','f','r','o','m',' ','A','R','N',' ','`','{','b','u','c','k','e','t','A', +'r','n','#','r','e','g','i','o','n','}','`',' ','d','o','e','s',' ','n','o','t',' ','m','a','t','c', +'h',' ','c','l','i','e','n','t',' ','r','e','g','i','o','n',' ','`','{','R','e','g','i','o','n','}', +'`',' ','a','n','d',' ','U','s','e','A','r','n','R','e','g','i','o','n',' ','i','s',' ','`','f','a', +'l','s','e','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}', +',','"','r','e','g','i','o','n','"',']','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u', +'c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n', +'"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o', +'n','"','}',',','"','n','a','m','e','"',']','}',',','"','{','p','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','#','n','a','m','e','}','"',']','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', +'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g', +'i','o','n','"',']','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e','"', +']','}',',','"','s','3','"',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',', +'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a', +'l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','a','c','c','o','u','n','t','I', +'d','"',']','}',',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i', +'s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}', +',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e','r', +'r','o','r','"',':','"','A','c','c','e','s','s',' ','P','o','i','n','t','s',' ','d','o',' ','n','o', +'t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',', +'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}', +',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i', +'o','n','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','c','n','"',']','}',']', +',','"','e','r','r','o','r','"',':','"','P','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ', +'n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']',',','"','e','r','r','o','r','"', +':','"','D','u','a','l','S','t','a','c','k',' ','c','a','n','n','o','t',' ','b','e',' ','c','o','m', +'b','i','n','e','d',' ','w','i','t','h',' ','a',' ','H','o','s','t',' ','o','v','e','r','r','i','d', +'e',' ','(','P','r','i','v','a','t','e','L','i','n','k',')','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', +']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', +'t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{', +'b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','a', +'c','c','e','s','s','p','o','i','n','t','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k', +'.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k', +'e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', +'"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g', +'i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', +'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{', +'a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A', +'r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p','o', +'i','n','t','-','f','i','p','s','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o', +'n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u', +'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', +'h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e', +'t','A','r','n','#','r','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', +'o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u', +'e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', +'t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-', +'{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-', +'a','c','c','e','s','s','p','o','i','n','t','.','d','u','a','l','s','t','a','c','k','.','{','b','u', +'c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a', +'r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e', +'g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}', +'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', +'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R', +'L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', +'n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', +'e','m','e','}',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-', +'{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','{','u','r', +'l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', +'"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g', +'i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t', +'A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p', +'o','i','n','t','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{', +'b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x', +'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h', +'e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n', +'#','r','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', +'s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', +'g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',']','}',']','}',']', +'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', +'o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c', +'e','s','s',' ','p','o','i','n','t',' ','n','a','m','e',' ','m','a','y',' ','o','n','l','y',' ','c', +'o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ', +'`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','a','c','c','e','s','s','P','o','i','n','t', +'N','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}', +']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', +'r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','o', +'u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a', +'-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u', +'n','d',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d', +'}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', +'I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','A','R','N',' ','w','a','s',' ', +'n','o','t',' ','f','o','r',' ','t','h','e',' ','S','3',' ','s','e','r','v','i','c','e',',',' ','f', +'o','u','n','d',':',' ','{','b','u','c','k','e','t','A','r','n','#','s','e','r','v','i','c','e','}', +'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n', +'v','a','l','i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':',' ','`','{','b','u', +'c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n','v','a','l','i','d', +' ','D','N','S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o','n','f','i','g', +'u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{','p','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b','u','t',' ','A','R', +'N',' ','(','`','{','B','u','c','k','e','t','}','`',')',' ','h','a','s',' ','`','{','b','u','c','k', +'e','t','P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`','"',',','"','t','y','p','e', +'"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','A',' ','v','a','l','i','d',' ','p', +'a','r','t','i','t','i','o','n',' ','c','o','u','l','d',' ','n','o','t',' ','b','e',' ','d','e','t', +'e','r','m','i','n','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', +'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', +'o','r','"',':','"','C','o','u','l','d',' ','n','o','t',' ','l','o','a','d',' ','p','a','r','t','i', +'t','i','o','n',' ','f','o','r',' ','A','R','N',' ','r','e','g','i','o','n',' ','`','{','b','u','c', +'k','e','t','A','r','n','#','r','e','g','i','o','n','}','`','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',']','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R', +'N',':',' ','T','h','e',' ','A','R','N',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a', +'i','n',' ','a',' ','s','i','n','g','l','e',' ','r','e','s','o','u','r','c','e',' ','c','o','m','p', +'o','n','e','n','t',' ','a','f','t','e','r',' ','`','a','c','c','e','s','s','p','o','i','n','t','`', +'.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',']','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','b','u','c','k','e','t',' ','A','R','N',' ', +'i','s',' ','m','i','s','s','i','n','g',' ','a',' ','r','e','g','i','o','n','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a', +'m','e','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', +']',',','"','e','r','r','o','r','"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s',' ','n', +'o','t',' ','s','u','p','p','o','r','t',' ','d','u','a','l','-','s','t','a','c','k','"',',','"','t', +'y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', +'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',', +'"','e','r','r','o','r','"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s',' ','n','o','t', +' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r', +'r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', +'c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o', +'r','"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p', +'o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','D','i','s','a','b','l','e','M','u','l','t','i','R','e','g','i','o','n','A','c','c','e', +'s','s','P','o','i','n','t','s','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r', +'"',':','"','I','n','v','a','l','i','d',' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':', +' ','M','u','l','t','i','-','R','e','g','i','o','n',' ','A','c','c','e','s','s',' ','P','o','i','n', +'t',' ','A','R','N','s',' ','a','r','e',' ','d','i','s','a','b','l','e','d','.','"',',','"','t','y', +'p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':', +'"','m','r','a','p','P','a','r','t','i','t','i','o','n','"','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','m','r','a','p','P','a','r','t','i','t','i','o','n','"','}',',','"','n', +'a','m','e','"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}', +',','"','p','a','r','t','i','t','i','o','n','"',']','}',']','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m', +'e','}','.','a','c','c','e','s','s','p','o','i','n','t','.','s','3','-','g','l','o','b','a','l','.', +'{','m','r','a','p','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','a','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','S','e','t','"',':','[','"','*','"',']',',','"','s', +'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o','n','f', +'i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{','m','r', +'a','p','P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`',' ','b','u','t',' ','b','u', +'c','k','e','t',' ','r','e','f','e','r','r','e','d',' ','t','o',' ','p','a','r','t','i','t','i','o', +'n',' ','`','{','b','u','c','k','e','t','A','r','n','#','p','a','r','t','i','t','i','o','n','}','`', +'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','{','R', +'e','g','i','o','n','}',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','r','e', +'g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}', +']','}',']','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','c','c','e','s','s',' ', +'P','o','i','n','t',' ','N','a','m','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'"','}',']','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x', +'p','e','c','t','e','d',' ','a',' ','r','e','s','o','u','r','c','e',' ','o','f',' ','t','h','e',' ', +'f','o','r','m','a','t',' ','`','a','c','c','e','s','s','p','o','i','n','t',':','<','a','c','c','e', +'s','s','p','o','i','n','t',' ','n','a','m','e','>','`',' ','b','u','t',' ','n','o',' ','n','a','m', +'e',' ','w','a','s',' ','p','r','o','v','i','d','e','d','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s','e', +'r','v','i','c','e','"',']','}',',','"','s','3','-','o','u','t','p','o','s','t','s','"',']','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',', +'"','e','r','r','o','r','"',':','"','S','3',' ','O','u','t','p','o','s','t','s',' ','d','o','e','s', +' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c','k','"',',', +'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}', +']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','u','t','p','o','s','t','s',' ','d','o', +'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']', +',','"','e','r','r','o','r','"',':','"','S','3',' ','O','u','t','p','o','s','t','s',' ','d','o','e', +'s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a', +'t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e', +'I','d','[','4',']','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','A','r','n',':',' ','O','u','t','p','o','s','t',' ','A','c','c','e','s','s',' ','P', +'o','i','n','t',' ','A','R','N',' ','c','o','n','t','a','i','n','s',' ','s','u','b',' ','r','e','s', +'o','u','r','c','e','s','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r', +'e','s','o','u','r','c','e','I','d','[','1',']','"',']',',','"','a','s','s','i','g','n','"',':','"', +'o','u','t','p','o','s','t','I','d','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','o','u','t','p','o','s','t','I','d','"','}',',','f','a','l','s','e',']', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g', +'i','o','n','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', +'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e', +'t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','{','R','e','g','i','o', +'n','}','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d', +' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','r','e','g','i','o','n',' ','f','r', +'o','m',' ','A','R','N',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n', +'}','`',' ','d','o','e','s',' ','n','o','t',' ','m','a','t','c','h',' ','c','l','i','e','n','t',' ', +'r','e','g','i','o','n',' ','`','{','R','e','g','i','o','n','}','`',' ','a','n','d',' ','U','s','e', +'A','r','n','R','e','g','i','o','n',' ','i','s',' ','`','f','a','l','s','e','`','"',',','"','t','y', +'p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"', +']','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t','P','a','r','t','i', +'t','i','o','n','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r', +'t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', +'e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',',','"','n','a','m','e', +'"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','"','}',',','"','n','a','m','e','"',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', +'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g', +'i','o','n','"',']','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','a','c','c','o', +'u','n','t','I','d','"',']','}',',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I', +'d','[','2',']','"',']',',','"','a','s','s','i','g','n','"',':','"','o','u','t','p','o','s','t','T', +'y','p','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r', +'n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','3',']','"',']',',','"','a','s','s', +'i','g','n','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','o','u','t','p','o','s','t','T','y','p', +'e','"','}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',', +'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p', +'a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l', +'"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', +'t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{', +'b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','{','o','u','t', +'p','o','s','t','I','d','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e', +'g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-', +'o','u','t','p','o','s','t','s','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s', +'s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c', +'c','o','u','n','t','I','d','}','.','{','o','u','t','p','o','s','t','I','d','}','.','s','3','-','o', +'u','t','p','o','s','t','s','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n', +'}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f', +'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', +'S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t', +'A','r','n','#','r','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','d','i','s','a','b','l','e','D', +'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','r','r','o','r','"',':','"','E','x','p','e','c','t','e','d',' ','a','n',' ','o','u', +'t','p','o','s','t',' ','t','y','p','e',' ','`','a','c','c','e','s','s','p','o','i','n','t','`',',', +' ','f','o','u','n','d',' ','{','o','u','t','p','o','s','t','T','y','p','e','}','"',',','"','t','y', +'p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d', +' ','A','R','N',':',' ','e','x','p','e','c','t','e','d',' ','a','n',' ','a','c','c','e','s','s',' ', +'p','o','i','n','t',' ','n','a','m','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x','p','e', +'c','t','e','d',' ','a',' ','4','-','c','o','m','p','o','n','e','n','t',' ','r','e','s','o','u','r', +'c','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', +'I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','o','u','n','t',' ', +'i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ', +'A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ', +'`','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','`','"',',', +'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':',' ','`','{','b','u','c','k', +'e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n','v','a','l','i','d',' ','D', +'N','S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', +']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', +'r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o','n','f','i','g','u','r', +'e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{','p','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b','u','t',' ','A','R','N',' ', +'(','`','{','B','u','c','k','e','t','}','`',')',' ','h','a','s',' ','`','{','b','u','c','k','e','t', +'P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[',']',',','"','e','r','r','o','r','"',':','"','A',' ','v','a','l','i','d',' ','p','a','r', +'t','i','t','i','o','n',' ','c','o','u','l','d',' ','n','o','t',' ','b','e',' ','d','e','t','e','r', +'m','i','n','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', +'"',':','"','C','o','u','l','d',' ','n','o','t',' ','l','o','a','d',' ','p','a','r','t','i','t','i', +'o','n',' ','f','o','r',' ','A','R','N',' ','r','e','g','i','o','n',' ','{','b','u','c','k','e','t', +'A','r','n','#','r','e','g','i','o','n','}','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T', +'h','e',' ','o','u','t','p','o','s','t',' ','I','d',' ','m','a','y',' ','o','n','l','y',' ','c','o', +'n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`', +'-','`','.',' ','F','o','u','n','d',':',' ','`','{','o','u','t','p','o','s','t','I','d','}','`','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v', +'a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','O','u','t','p','o','s','t',' ','I','d',' ', +'w','a','s',' ','n','o','t',' ','s','e','t','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']','}',']','}',']','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R', +'N',':',' ','U','n','r','e','c','o','g','n','i','z','e','d',' ','f','o','r','m','a','t',':',' ','{', +'B','u','c','k','e','t','}',' ','(','t','y','p','e',':',' ','{','a','r','n','T','y','p','e','}',')', +'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n', +'v','a','l','i','d',' ','A','R','N',':',' ','N','o',' ','A','R','N',' ','t','y','p','e',' ','s','p', +'e','c','i','f','i','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s', +'u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','B','u','c','k','e','t','"','}',',','0',',','4',',','f','a','l','s','e',']',',','"','a','s','s', +'i','g','n','"',':','"','a','r','n','P','r','e','f','i','x','"','}',',','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','a','r','n','P','r','e','f','i','x','"','}',',','"','a','r','n',':','"',']','}', +',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'a','w','s','.','p','a','r','s','e','A','r','n','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']','}',']','}',']',',','"','e','r','r', +'o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','`','{','B','u','c','k','e', +'t','}','`',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','A','R','N','"',',', +'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','u','r','i','E','n','c','o','d','e','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']',',', +'"','a','s','s','i','g','n','"',':','"','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c', +'k','e','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r', +'u','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']',',','"', +'e','r','r','o','r','"',':','"','C','a','n','n','o','t',' ','s','e','t',' ','d','u','a','l','-','s', +'t','a','c','k',' ','i','n',' ','c','o','m','b','i','n','a','t','i','o','n',' ','w','i','t','h',' ', +'a',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t','.','"',',','"','t','y','p','e', +'"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w', +'s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l', +'s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', +'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', +'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', +'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', +':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e', +'a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', +'s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c', +'k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', +'S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t', +'-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d', +'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', +'e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', +',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-', +'f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.', +'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', +'x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"',',','"','s', +'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', +'t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', +'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s', +'.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u', +'r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e', +'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e', +'E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"', +'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', +'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', +'b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n', +'}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', +'f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l', +'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', +',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', +'}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s', +'s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', +'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', +'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r', +'i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{', +'u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s', +'e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f', +'n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"', +':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s', +'c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{', +'u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e', +'n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','u','s','-','e','a','s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', +'o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p', +'a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l', +'"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', +',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', +'a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t', +'r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e', +'m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l', +'#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o', +'d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':', +'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', +'{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', +'s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', +'g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r', +'s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', +'s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l', +'s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o', +'r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}', +'{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', +'[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', +'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s', +'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{', +'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', +'g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', +'r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','u','s','-','e', +'a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', +'s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c', +'k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', +'S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t', +'-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d', +'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', +'e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', +'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3', +'-','f','i','p','s','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e', +'n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','u','s','-','e','a','s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', +'o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E', +'n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n', +'}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', +'f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l', +'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', +'s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l', +'s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.', +'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', +'x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i', +'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D', +'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', +'w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t', +'a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c', +'o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', +'"','u','s','-','e','a','s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', +':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', +'i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s', +'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"', +']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', +'t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s', +'t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e', +'t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1', +'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', +'w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r', +'u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', +'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3', +'.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u', +'r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e', +'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e', +'E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', +'l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l', +'o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', +'/','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', +'/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p', +'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', +':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n', +'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"', +'f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n', +'"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l', +'#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y', +'}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i', +'_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i', +'o','n','"',':','"','u','s','-','e','a','s','t','-','1','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}', +',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':', +'"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u', +'r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', +'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', +'e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', +'l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c', +'o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', +'"','u','s','-','e','a','s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', +':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', +'i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r', +'s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', +'w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r', +'u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', +'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1', +'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', +'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r', +'i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{', +'u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l', +'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}', +':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o', +'r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d', +'_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i', +'g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', +'g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', +',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', +'t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', +'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', +'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U', +'R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', +'i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s', +'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', +'g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e', +']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u', +'r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i', +'t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u', +'r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e', +'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e', +'E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', +'l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', +'l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n', +'c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e', +'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','u','s','-','e','a','s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', +'d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"', +'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', +'l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e', +'d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', +'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s', +'i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s', +'-','e','a','s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', +'"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', +'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', +'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', +'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', +'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', +'i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u', +'s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i', +'_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i', +'o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g', +'i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', +'S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k', +'e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', +'c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', +'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}', +'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', +'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', +'g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', +',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}', +',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', +'l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o','n','}','.','{', +'p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', +'}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', +'"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g', +'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e', +'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', +'n','t','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','e','r','r','o','r','"',':','"','P','a','t','h','-','s','t','y','l','e',' ','a','d','d','r', +'e','s','s','i','n','g',' ','c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ','w','i','t', +'h',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','r','r','o','r','"',':','"','A',' ','v','a','l','i','d',' ','p','a','r','t', +'i','t','i','o','n',' ','c','o','u','l','d',' ','n','o','t',' ','b','e',' ','d','e','t','e','r','m', +'i','n','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}', +']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','O','b','j','e','c','t','L','a','m','b','d','a','E','n','d','p','o','i','n','t','"','}', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','O','b','j','e','c','t', +'L','a','m','b','d','a','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p', +'a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','t','r','u','e',']','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', +'t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S', +'3',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ', +'s','u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p','e', +'"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',', +'"','e','r','r','o','r','"',':','"','S','3',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a', +' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e', +'l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', +'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i', +'t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w', +'s','-','c','n','"',']','}',']',',','"','e','r','r','o','r','"',':','"','P','a','r','t','i','t','i', +'o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r', +'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r', +'s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l', +'#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y', +'}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':', +'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', +'{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', +'s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','d','i','s','a','b','l', +'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e', +']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', +'t','p','s',':','/','/','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','-','f','i', +'p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', +'p','s',':','/','/','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','.','{','R','e', +'g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', +'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i', +'g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', +'g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-', +'o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e', +'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', +'n','t','"','}',']','}',']','}',']','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r', +'e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o','t',' ','a',' ','v', +'a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','r','r','o','r','"',':','"','A',' ','v','a','l','i','d',' ','p','a','r','t','i', +'t','i','o','n',' ','c','o','u','l','d',' ','n','o','t',' ','b','e',' ','d','e','t','e','r','m','i', +'n','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s', +'.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a', +'r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','t','r','u','e',']', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t', +'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"', +'a','w','s','-','c','n','"',']','}',']',',','"','e','r','r','o','r','"',':','"','P','a','r','t','i', +'t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P', +'S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',', +'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', +'t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e', +'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', +'n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', +']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', +'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', +'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r', +'i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','u','s','-','e','a','s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', +'o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', +']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n', +'"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':', +'"','u','r','l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', +'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}', +':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a', +'t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', +'c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', +'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-', +'1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', +'t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', +'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']', +'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a', +'l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', +'l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a', +'u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l', +'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', +'}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s', +'s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n', +'t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r', +'l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', +'"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g', +'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e', +'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', +'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', +'g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',', +'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', +'-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a', +'l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', +',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', +'l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', +'l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s', +'t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', +'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e', +'E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']', +'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a', +'l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', +'l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s', +'t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i', +'o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']', +'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a', +'l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3', +'-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.', +'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', +'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', +',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a', +'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', +'u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', +'a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', +'"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h', +'o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i', +'o','n','"',':','"','u','s','-','e','a','s','t','-','1','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{', +'"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g', +'n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', +'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e', +'m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l', +'#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v', +'4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a', +'s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', +'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s', +'e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',', +'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', +'a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G', +'l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u', +'r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i', +'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D', +'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e', +'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', +'n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', +']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"', +'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n', +'d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':', +'/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t', +'h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', +',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a', +'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', +'u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o', +'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', +'}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i', +'p','s','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a', +'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', +'n','"',':','"','u','s','-','e','a','s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', +'a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', +'"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','u','s','-','e','a','s','t','-', +'1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', +'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', +'S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t', +'-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d', +'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', +'e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', +',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', +'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', +'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', +'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', +'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',', +'t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l', +'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', +'g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',', +'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', +'a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G', +'l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', +'/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i', +'t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p', +'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', +':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n', +'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', +']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a', +'s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#', +'s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}', +'{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u', +'s','-','e','a','s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', +'s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', +'g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"', +'p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r', +'l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', +'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/', +'{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"',',', +'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','i','s','S', +'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', +'i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', +'}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E', +'n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t', +'h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', +'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', +',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', +',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s', +'i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', +'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t', +'"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l', +'#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p', +'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', +':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n', +'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', +'g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',', +'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', +'-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c', +'k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','u','s','-','e','a','s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', +'o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', +'l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e', +'a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', +'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i', +'g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-', +'e','a','s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', +':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"', +'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n', +'t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}', +'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', +'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', +'c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', +'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}', +'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', +',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', +'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', +'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', +'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',', +'f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','{', +'R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', +'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', +'R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', +'"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"', +'p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r', +'l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', +'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/', +'{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"',',', +'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', +'a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', +'"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h', +'o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i', +'o','n','"',':','"','u','s','-','e','a','s','t','-','1','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',', +'{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i', +'g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"', +'}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a', +'s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u', +'t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e', +'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e', +'E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':', +'/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t', +'h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', +',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','d','i','s','a', +'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e','}',']', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', +'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', +'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U', +'R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', +'i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"', +'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', +'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', +'b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', +'e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', +'l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g', +'i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', +'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', +'/','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v', +'4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a', +'s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', +'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', +'/','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v', +'4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a', +'s','t','-','1','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', +'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t', +'"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',', +'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e', +'a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', +'l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', +'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e', +'g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', +'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i', +'g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', +'g','i','o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', +',','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', +'t','r','u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', +'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', +'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', +'i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i', +'o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v', +'4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i', +'o','n','}','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', +'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', +'u','e','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',']','}',']','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o', +'t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','A',' ','v','a','l','i','d',' ', +'p','a','r','t','i','t','i','o','n',' ','c','o','u','l','d',' ','n','o','t',' ','b','e',' ','d','e', +'t','e','r','m','i','n','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', +']','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'e','r','r','o','r','"',':','"','A',' ','r','e','g','i','o','n',' ','m','u','s','t',' ','b','e',' ', +'s','e','t',' ','w','h','e','n',' ','s','e','n','d','i','n','g',' ','r','e','q','u','e','s','t','s', +' ','t','o',' ','S','3','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', +'}',']','}','\0' +}}; + +const char* S3EndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Request.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Request.cpp new file mode 100644 index 0000000000..1b93c81846 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Request.cpp @@ -0,0 +1,14 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + + +#include <aws/s3/S3Request.h> + +namespace Aws +{ +namespace S3 +{ +} // 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 index 4d8645caab..299825faff 100644 --- 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 @@ -79,3 +79,13 @@ Aws::Http::HeaderValueCollection AbortMultipartUploadRequest::GetRequestSpecific return headers; } + +AbortMultipartUploadRequest::EndpointParameters AbortMultipartUploadRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 1ad9b5f310..cf66979ae2 100644 --- 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 @@ -48,7 +48,7 @@ Bucket& Bucket::operator =(const XmlNode& xmlNode) 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_creationDate = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(creationDateNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); m_creationDateHasBeenSet = true; } } @@ -68,7 +68,7 @@ void Bucket::AddToNode(XmlNode& parentNode) const if(m_creationDateHasBeenSet) { XmlNode creationDateNode = parentNode.CreateChildElement("CreationDate"); - creationDateNode.SetText(m_creationDate.ToGmtString(DateFormat::ISO_8601)); + creationDateNode.SetText(m_creationDate.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); } } 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 index 1bcdd2b471..4b83e3bad1 100644 --- 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 @@ -28,6 +28,7 @@ namespace Aws 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 ap_southeast_3_HASH = HashingUtils::HashString("ap-southeast-3"); 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"); @@ -45,6 +46,7 @@ namespace Aws 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_iso_west_1_HASH = HashingUtils::HashString("us-iso-west-1"); static const int us_east_1_HASH = HashingUtils::HashString("us-east-1"); @@ -83,6 +85,10 @@ namespace Aws { return BucketLocationConstraint::ap_southeast_2; } + else if (hashCode == ap_southeast_3_HASH) + { + return BucketLocationConstraint::ap_southeast_3; + } else if (hashCode == ca_central_1_HASH) { return BucketLocationConstraint::ca_central_1; @@ -151,6 +157,10 @@ namespace Aws { return BucketLocationConstraint::us_west_2; } + else if (hashCode == us_iso_west_1_HASH) + { + return BucketLocationConstraint::us_iso_west_1; + } else if (hashCode == us_east_1_HASH) { return BucketLocationConstraint::us_east_1; @@ -185,6 +195,8 @@ namespace Aws return "ap-southeast-1"; case BucketLocationConstraint::ap_southeast_2: return "ap-southeast-2"; + case BucketLocationConstraint::ap_southeast_3: + return "ap-southeast-3"; case BucketLocationConstraint::ca_central_1: return "ca-central-1"; case BucketLocationConstraint::cn_north_1: @@ -219,6 +231,8 @@ namespace Aws return "us-west-1"; case BucketLocationConstraint::us_west_2: return "us-west-2"; + case BucketLocationConstraint::us_iso_west_1: + return "us-iso-west-1"; case BucketLocationConstraint::us_east_1: return "us-east-1"; default: diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Checksum.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Checksum.cpp new file mode 100644 index 0000000000..bd4e0f4dc4 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Checksum.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/Checksum.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 +{ + +Checksum::Checksum() : + m_checksumCRC32HasBeenSet(false), + m_checksumCRC32CHasBeenSet(false), + m_checksumSHA1HasBeenSet(false), + m_checksumSHA256HasBeenSet(false) +{ +} + +Checksum::Checksum(const XmlNode& xmlNode) : + m_checksumCRC32HasBeenSet(false), + m_checksumCRC32CHasBeenSet(false), + m_checksumSHA1HasBeenSet(false), + m_checksumSHA256HasBeenSet(false) +{ + *this = xmlNode; +} + +Checksum& Checksum::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode checksumCRC32Node = resultNode.FirstChild("ChecksumCRC32"); + if(!checksumCRC32Node.IsNull()) + { + m_checksumCRC32 = Aws::Utils::Xml::DecodeEscapedXmlText(checksumCRC32Node.GetText()); + m_checksumCRC32HasBeenSet = true; + } + XmlNode checksumCRC32CNode = resultNode.FirstChild("ChecksumCRC32C"); + if(!checksumCRC32CNode.IsNull()) + { + m_checksumCRC32C = Aws::Utils::Xml::DecodeEscapedXmlText(checksumCRC32CNode.GetText()); + m_checksumCRC32CHasBeenSet = true; + } + XmlNode checksumSHA1Node = resultNode.FirstChild("ChecksumSHA1"); + if(!checksumSHA1Node.IsNull()) + { + m_checksumSHA1 = Aws::Utils::Xml::DecodeEscapedXmlText(checksumSHA1Node.GetText()); + m_checksumSHA1HasBeenSet = true; + } + XmlNode checksumSHA256Node = resultNode.FirstChild("ChecksumSHA256"); + if(!checksumSHA256Node.IsNull()) + { + m_checksumSHA256 = Aws::Utils::Xml::DecodeEscapedXmlText(checksumSHA256Node.GetText()); + m_checksumSHA256HasBeenSet = true; + } + } + + return *this; +} + +void Checksum::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_checksumCRC32HasBeenSet) + { + XmlNode checksumCRC32Node = parentNode.CreateChildElement("ChecksumCRC32"); + checksumCRC32Node.SetText(m_checksumCRC32); + } + + if(m_checksumCRC32CHasBeenSet) + { + XmlNode checksumCRC32CNode = parentNode.CreateChildElement("ChecksumCRC32C"); + checksumCRC32CNode.SetText(m_checksumCRC32C); + } + + if(m_checksumSHA1HasBeenSet) + { + XmlNode checksumSHA1Node = parentNode.CreateChildElement("ChecksumSHA1"); + checksumSHA1Node.SetText(m_checksumSHA1); + } + + if(m_checksumSHA256HasBeenSet) + { + XmlNode checksumSHA256Node = parentNode.CreateChildElement("ChecksumSHA256"); + checksumSHA256Node.SetText(m_checksumSHA256); + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ChecksumAlgorithm.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ChecksumAlgorithm.cpp new file mode 100644 index 0000000000..674e726dd7 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ChecksumAlgorithm.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/ChecksumAlgorithm.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 ChecksumAlgorithmMapper + { + + static const int CRC32_HASH = HashingUtils::HashString("CRC32"); + static const int CRC32C_HASH = HashingUtils::HashString("CRC32C"); + static const int SHA1_HASH = HashingUtils::HashString("SHA1"); + static const int SHA256_HASH = HashingUtils::HashString("SHA256"); + + + ChecksumAlgorithm GetChecksumAlgorithmForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CRC32_HASH) + { + return ChecksumAlgorithm::CRC32; + } + else if (hashCode == CRC32C_HASH) + { + return ChecksumAlgorithm::CRC32C; + } + else if (hashCode == SHA1_HASH) + { + return ChecksumAlgorithm::SHA1; + } + else if (hashCode == SHA256_HASH) + { + return ChecksumAlgorithm::SHA256; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<ChecksumAlgorithm>(hashCode); + } + + return ChecksumAlgorithm::NOT_SET; + } + + Aws::String GetNameForChecksumAlgorithm(ChecksumAlgorithm enumValue) + { + switch(enumValue) + { + case ChecksumAlgorithm::CRC32: + return "CRC32"; + case ChecksumAlgorithm::CRC32C: + return "CRC32C"; + case ChecksumAlgorithm::SHA1: + return "SHA1"; + case ChecksumAlgorithm::SHA256: + return "SHA256"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace ChecksumAlgorithmMapper + } // namespace Model + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ChecksumMode.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ChecksumMode.cpp new file mode 100644 index 0000000000..d3085bfb8a --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ChecksumMode.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/ChecksumMode.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 ChecksumModeMapper + { + + static const int ENABLED_HASH = HashingUtils::HashString("ENABLED"); + + + ChecksumMode GetChecksumModeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ENABLED_HASH) + { + return ChecksumMode::ENABLED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<ChecksumMode>(hashCode); + } + + return ChecksumMode::NOT_SET; + } + + Aws::String GetNameForChecksumMode(ChecksumMode enumValue) + { + switch(enumValue) + { + case ChecksumMode::ENABLED: + return "ENABLED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace ChecksumModeMapper + } // 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 index 8c058ba507..03a8a23f96 100644 --- 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 @@ -21,13 +21,42 @@ CompleteMultipartUploadRequest::CompleteMultipartUploadRequest() : m_keyHasBeenSet(false), m_multipartUploadHasBeenSet(false), m_uploadIdHasBeenSet(false), + m_checksumCRC32HasBeenSet(false), + m_checksumCRC32CHasBeenSet(false), + m_checksumSHA1HasBeenSet(false), + m_checksumSHA256HasBeenSet(false), m_requestPayer(RequestPayer::NOT_SET), m_requestPayerHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), + m_sSECustomerAlgorithmHasBeenSet(false), + m_sSECustomerKeyHasBeenSet(false), + m_sSECustomerKeyMD5HasBeenSet(false), m_customizedAccessLogTagHasBeenSet(false) { } +bool CompleteMultipartUploadRequest::HasEmbeddedError(Aws::IOStream &body, + const Aws::Http::HeaderValueCollection &header) const +{ + // Header is unused + (void) header; + + auto readPointer = body.tellg(); + XmlDocument doc = XmlDocument::CreateFromXmlStream(body); + + if (!doc.WasParseSuccessful()) { + body.seekg(readPointer); + return false; + } + + if (doc.GetRootElement().GetName() == "Error") { + body.seekg(readPointer); + return true; + } + body.seekg(readPointer); + return false; +} + Aws::String CompleteMultipartUploadRequest::SerializePayload() const { XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("CompleteMultipartUpload"); @@ -77,6 +106,34 @@ Aws::Http::HeaderValueCollection CompleteMultipartUploadRequest::GetRequestSpeci { Aws::Http::HeaderValueCollection headers; Aws::StringStream ss; + if(m_checksumCRC32HasBeenSet) + { + ss << m_checksumCRC32; + headers.emplace("x-amz-checksum-crc32", ss.str()); + ss.str(""); + } + + if(m_checksumCRC32CHasBeenSet) + { + ss << m_checksumCRC32C; + headers.emplace("x-amz-checksum-crc32c", ss.str()); + ss.str(""); + } + + if(m_checksumSHA1HasBeenSet) + { + ss << m_checksumSHA1; + headers.emplace("x-amz-checksum-sha1", ss.str()); + ss.str(""); + } + + if(m_checksumSHA256HasBeenSet) + { + ss << m_checksumSHA256; + headers.emplace("x-amz-checksum-sha256", ss.str()); + ss.str(""); + } + if(m_requestPayerHasBeenSet) { headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); @@ -89,5 +146,36 @@ Aws::Http::HeaderValueCollection CompleteMultipartUploadRequest::GetRequestSpeci 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(""); + } + return headers; } + +CompleteMultipartUploadRequest::EndpointParameters CompleteMultipartUploadRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index da3f191993..ad87777a2c 100644 --- 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 @@ -58,6 +58,26 @@ CompleteMultipartUploadResult& CompleteMultipartUploadResult::operator =(const A { m_eTag = Aws::Utils::Xml::DecodeEscapedXmlText(eTagNode.GetText()); } + XmlNode checksumCRC32Node = resultNode.FirstChild("ChecksumCRC32"); + if(!checksumCRC32Node.IsNull()) + { + m_checksumCRC32 = Aws::Utils::Xml::DecodeEscapedXmlText(checksumCRC32Node.GetText()); + } + XmlNode checksumCRC32CNode = resultNode.FirstChild("ChecksumCRC32C"); + if(!checksumCRC32CNode.IsNull()) + { + m_checksumCRC32C = Aws::Utils::Xml::DecodeEscapedXmlText(checksumCRC32CNode.GetText()); + } + XmlNode checksumSHA1Node = resultNode.FirstChild("ChecksumSHA1"); + if(!checksumSHA1Node.IsNull()) + { + m_checksumSHA1 = Aws::Utils::Xml::DecodeEscapedXmlText(checksumSHA1Node.GetText()); + } + XmlNode checksumSHA256Node = resultNode.FirstChild("ChecksumSHA256"); + if(!checksumSHA256Node.IsNull()) + { + m_checksumSHA256 = Aws::Utils::Xml::DecodeEscapedXmlText(checksumSHA256Node.GetText()); + } } const auto& headers = result.GetHeaderValueCollection(); 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 index 8fb63ee1f3..a6bce6a9f4 100644 --- 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 @@ -22,6 +22,10 @@ namespace Model CompletedPart::CompletedPart() : m_eTagHasBeenSet(false), + m_checksumCRC32HasBeenSet(false), + m_checksumCRC32CHasBeenSet(false), + m_checksumSHA1HasBeenSet(false), + m_checksumSHA256HasBeenSet(false), m_partNumber(0), m_partNumberHasBeenSet(false) { @@ -29,6 +33,10 @@ CompletedPart::CompletedPart() : CompletedPart::CompletedPart(const XmlNode& xmlNode) : m_eTagHasBeenSet(false), + m_checksumCRC32HasBeenSet(false), + m_checksumCRC32CHasBeenSet(false), + m_checksumSHA1HasBeenSet(false), + m_checksumSHA256HasBeenSet(false), m_partNumber(0), m_partNumberHasBeenSet(false) { @@ -47,6 +55,30 @@ CompletedPart& CompletedPart::operator =(const XmlNode& xmlNode) m_eTag = Aws::Utils::Xml::DecodeEscapedXmlText(eTagNode.GetText()); m_eTagHasBeenSet = true; } + XmlNode checksumCRC32Node = resultNode.FirstChild("ChecksumCRC32"); + if(!checksumCRC32Node.IsNull()) + { + m_checksumCRC32 = Aws::Utils::Xml::DecodeEscapedXmlText(checksumCRC32Node.GetText()); + m_checksumCRC32HasBeenSet = true; + } + XmlNode checksumCRC32CNode = resultNode.FirstChild("ChecksumCRC32C"); + if(!checksumCRC32CNode.IsNull()) + { + m_checksumCRC32C = Aws::Utils::Xml::DecodeEscapedXmlText(checksumCRC32CNode.GetText()); + m_checksumCRC32CHasBeenSet = true; + } + XmlNode checksumSHA1Node = resultNode.FirstChild("ChecksumSHA1"); + if(!checksumSHA1Node.IsNull()) + { + m_checksumSHA1 = Aws::Utils::Xml::DecodeEscapedXmlText(checksumSHA1Node.GetText()); + m_checksumSHA1HasBeenSet = true; + } + XmlNode checksumSHA256Node = resultNode.FirstChild("ChecksumSHA256"); + if(!checksumSHA256Node.IsNull()) + { + m_checksumSHA256 = Aws::Utils::Xml::DecodeEscapedXmlText(checksumSHA256Node.GetText()); + m_checksumSHA256HasBeenSet = true; + } XmlNode partNumberNode = resultNode.FirstChild("PartNumber"); if(!partNumberNode.IsNull()) { @@ -67,6 +99,30 @@ void CompletedPart::AddToNode(XmlNode& parentNode) const eTagNode.SetText(m_eTag); } + if(m_checksumCRC32HasBeenSet) + { + XmlNode checksumCRC32Node = parentNode.CreateChildElement("ChecksumCRC32"); + checksumCRC32Node.SetText(m_checksumCRC32); + } + + if(m_checksumCRC32CHasBeenSet) + { + XmlNode checksumCRC32CNode = parentNode.CreateChildElement("ChecksumCRC32C"); + checksumCRC32CNode.SetText(m_checksumCRC32C); + } + + if(m_checksumSHA1HasBeenSet) + { + XmlNode checksumSHA1Node = parentNode.CreateChildElement("ChecksumSHA1"); + checksumSHA1Node.SetText(m_checksumSHA1); + } + + if(m_checksumSHA256HasBeenSet) + { + XmlNode checksumSHA256Node = parentNode.CreateChildElement("ChecksumSHA256"); + checksumSHA256Node.SetText(m_checksumSHA256); + } + if(m_partNumberHasBeenSet) { XmlNode partNumberNode = parentNode.CreateChildElement("PartNumber"); 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 index 94493cfdcf..e4e1b52819 100644 --- 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 @@ -21,6 +21,8 @@ CopyObjectRequest::CopyObjectRequest() : m_aCLHasBeenSet(false), m_bucketHasBeenSet(false), m_cacheControlHasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false), m_contentDispositionHasBeenSet(false), m_contentEncodingHasBeenSet(false), m_contentLanguageHasBeenSet(false), @@ -70,6 +72,28 @@ CopyObjectRequest::CopyObjectRequest() : { } +bool CopyObjectRequest::HasEmbeddedError(Aws::IOStream &body, + const Aws::Http::HeaderValueCollection &header) const +{ + // Header is unused + (void) header; + + auto readPointer = body.tellg(); + XmlDocument doc = XmlDocument::CreateFromXmlStream(body); + + if (!doc.WasParseSuccessful()) { + body.seekg(readPointer); + return false; + } + + if (doc.GetRootElement().GetName() == "Error") { + body.seekg(readPointer); + return true; + } + body.seekg(readPointer); + return false; +} + Aws::String CopyObjectRequest::SerializePayload() const { return {}; @@ -113,6 +137,11 @@ Aws::Http::HeaderValueCollection CopyObjectRequest::GetRequestSpecificHeaders() ss.str(""); } + if(m_checksumAlgorithmHasBeenSet) + { + headers.emplace("x-amz-checksum-algorithm", ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm)); + } + if(m_contentDispositionHasBeenSet) { ss << m_contentDisposition; @@ -157,7 +186,7 @@ Aws::Http::HeaderValueCollection CopyObjectRequest::GetRequestSpecificHeaders() if(m_copySourceIfModifiedSinceHasBeenSet) { - headers.emplace("x-amz-copy-source-if-modified-since", m_copySourceIfModifiedSince.ToGmtString(DateFormat::RFC822)); + headers.emplace("x-amz-copy-source-if-modified-since", m_copySourceIfModifiedSince.ToGmtString(Aws::Utils::DateFormat::RFC822)); } if(m_copySourceIfNoneMatchHasBeenSet) @@ -169,12 +198,12 @@ Aws::Http::HeaderValueCollection CopyObjectRequest::GetRequestSpecificHeaders() if(m_copySourceIfUnmodifiedSinceHasBeenSet) { - headers.emplace("x-amz-copy-source-if-unmodified-since", m_copySourceIfUnmodifiedSince.ToGmtString(DateFormat::RFC822)); + headers.emplace("x-amz-copy-source-if-unmodified-since", m_copySourceIfUnmodifiedSince.ToGmtString(Aws::Utils::DateFormat::RFC822)); } if(m_expiresHasBeenSet) { - headers.emplace("expires", m_expires.ToGmtString(DateFormat::RFC822)); + headers.emplace("expires", m_expires.ToGmtString(Aws::Utils::DateFormat::RFC822)); } if(m_grantFullControlHasBeenSet) @@ -324,7 +353,7 @@ Aws::Http::HeaderValueCollection CopyObjectRequest::GetRequestSpecificHeaders() if(m_objectLockRetainUntilDateHasBeenSet) { - headers.emplace("x-amz-object-lock-retain-until-date", m_objectLockRetainUntilDate.ToGmtString(DateFormat::ISO_8601)); + headers.emplace("x-amz-object-lock-retain-until-date", m_objectLockRetainUntilDate.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); } if(m_objectLockLegalHoldStatusHasBeenSet) @@ -348,3 +377,13 @@ Aws::Http::HeaderValueCollection CopyObjectRequest::GetRequestSpecificHeaders() return headers; } + +CopyObjectRequest::EndpointParameters CopyObjectRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 6e03159046..313d2cde14 100644 --- 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 @@ -22,13 +22,21 @@ namespace Model CopyObjectResultDetails::CopyObjectResultDetails() : m_eTagHasBeenSet(false), - m_lastModifiedHasBeenSet(false) + m_lastModifiedHasBeenSet(false), + m_checksumCRC32HasBeenSet(false), + m_checksumCRC32CHasBeenSet(false), + m_checksumSHA1HasBeenSet(false), + m_checksumSHA256HasBeenSet(false) { } CopyObjectResultDetails::CopyObjectResultDetails(const XmlNode& xmlNode) : m_eTagHasBeenSet(false), - m_lastModifiedHasBeenSet(false) + m_lastModifiedHasBeenSet(false), + m_checksumCRC32HasBeenSet(false), + m_checksumCRC32CHasBeenSet(false), + m_checksumSHA1HasBeenSet(false), + m_checksumSHA256HasBeenSet(false) { *this = xmlNode; } @@ -48,9 +56,33 @@ CopyObjectResultDetails& CopyObjectResultDetails::operator =(const XmlNode& xmlN 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_lastModified = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(lastModifiedNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); m_lastModifiedHasBeenSet = true; } + XmlNode checksumCRC32Node = resultNode.FirstChild("ChecksumCRC32"); + if(!checksumCRC32Node.IsNull()) + { + m_checksumCRC32 = Aws::Utils::Xml::DecodeEscapedXmlText(checksumCRC32Node.GetText()); + m_checksumCRC32HasBeenSet = true; + } + XmlNode checksumCRC32CNode = resultNode.FirstChild("ChecksumCRC32C"); + if(!checksumCRC32CNode.IsNull()) + { + m_checksumCRC32C = Aws::Utils::Xml::DecodeEscapedXmlText(checksumCRC32CNode.GetText()); + m_checksumCRC32CHasBeenSet = true; + } + XmlNode checksumSHA1Node = resultNode.FirstChild("ChecksumSHA1"); + if(!checksumSHA1Node.IsNull()) + { + m_checksumSHA1 = Aws::Utils::Xml::DecodeEscapedXmlText(checksumSHA1Node.GetText()); + m_checksumSHA1HasBeenSet = true; + } + XmlNode checksumSHA256Node = resultNode.FirstChild("ChecksumSHA256"); + if(!checksumSHA256Node.IsNull()) + { + m_checksumSHA256 = Aws::Utils::Xml::DecodeEscapedXmlText(checksumSHA256Node.GetText()); + m_checksumSHA256HasBeenSet = true; + } } return *this; @@ -68,7 +100,31 @@ void CopyObjectResultDetails::AddToNode(XmlNode& parentNode) const if(m_lastModifiedHasBeenSet) { XmlNode lastModifiedNode = parentNode.CreateChildElement("LastModified"); - lastModifiedNode.SetText(m_lastModified.ToGmtString(DateFormat::ISO_8601)); + lastModifiedNode.SetText(m_lastModified.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_checksumCRC32HasBeenSet) + { + XmlNode checksumCRC32Node = parentNode.CreateChildElement("ChecksumCRC32"); + checksumCRC32Node.SetText(m_checksumCRC32); + } + + if(m_checksumCRC32CHasBeenSet) + { + XmlNode checksumCRC32CNode = parentNode.CreateChildElement("ChecksumCRC32C"); + checksumCRC32CNode.SetText(m_checksumCRC32C); + } + + if(m_checksumSHA1HasBeenSet) + { + XmlNode checksumSHA1Node = parentNode.CreateChildElement("ChecksumSHA1"); + checksumSHA1Node.SetText(m_checksumSHA1); + } + + if(m_checksumSHA256HasBeenSet) + { + XmlNode checksumSHA256Node = parentNode.CreateChildElement("ChecksumSHA256"); + checksumSHA256Node.SetText(m_checksumSHA256); } } 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 index f8f5c9809c..6c8f942caf 100644 --- 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 @@ -22,13 +22,21 @@ namespace Model CopyPartResult::CopyPartResult() : m_eTagHasBeenSet(false), - m_lastModifiedHasBeenSet(false) + m_lastModifiedHasBeenSet(false), + m_checksumCRC32HasBeenSet(false), + m_checksumCRC32CHasBeenSet(false), + m_checksumSHA1HasBeenSet(false), + m_checksumSHA256HasBeenSet(false) { } CopyPartResult::CopyPartResult(const XmlNode& xmlNode) : m_eTagHasBeenSet(false), - m_lastModifiedHasBeenSet(false) + m_lastModifiedHasBeenSet(false), + m_checksumCRC32HasBeenSet(false), + m_checksumCRC32CHasBeenSet(false), + m_checksumSHA1HasBeenSet(false), + m_checksumSHA256HasBeenSet(false) { *this = xmlNode; } @@ -48,9 +56,33 @@ CopyPartResult& CopyPartResult::operator =(const XmlNode& xmlNode) 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_lastModified = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(lastModifiedNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); m_lastModifiedHasBeenSet = true; } + XmlNode checksumCRC32Node = resultNode.FirstChild("ChecksumCRC32"); + if(!checksumCRC32Node.IsNull()) + { + m_checksumCRC32 = Aws::Utils::Xml::DecodeEscapedXmlText(checksumCRC32Node.GetText()); + m_checksumCRC32HasBeenSet = true; + } + XmlNode checksumCRC32CNode = resultNode.FirstChild("ChecksumCRC32C"); + if(!checksumCRC32CNode.IsNull()) + { + m_checksumCRC32C = Aws::Utils::Xml::DecodeEscapedXmlText(checksumCRC32CNode.GetText()); + m_checksumCRC32CHasBeenSet = true; + } + XmlNode checksumSHA1Node = resultNode.FirstChild("ChecksumSHA1"); + if(!checksumSHA1Node.IsNull()) + { + m_checksumSHA1 = Aws::Utils::Xml::DecodeEscapedXmlText(checksumSHA1Node.GetText()); + m_checksumSHA1HasBeenSet = true; + } + XmlNode checksumSHA256Node = resultNode.FirstChild("ChecksumSHA256"); + if(!checksumSHA256Node.IsNull()) + { + m_checksumSHA256 = Aws::Utils::Xml::DecodeEscapedXmlText(checksumSHA256Node.GetText()); + m_checksumSHA256HasBeenSet = true; + } } return *this; @@ -68,7 +100,31 @@ void CopyPartResult::AddToNode(XmlNode& parentNode) const if(m_lastModifiedHasBeenSet) { XmlNode lastModifiedNode = parentNode.CreateChildElement("LastModified"); - lastModifiedNode.SetText(m_lastModified.ToGmtString(DateFormat::ISO_8601)); + lastModifiedNode.SetText(m_lastModified.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_checksumCRC32HasBeenSet) + { + XmlNode checksumCRC32Node = parentNode.CreateChildElement("ChecksumCRC32"); + checksumCRC32Node.SetText(m_checksumCRC32); + } + + if(m_checksumCRC32CHasBeenSet) + { + XmlNode checksumCRC32CNode = parentNode.CreateChildElement("ChecksumCRC32C"); + checksumCRC32CNode.SetText(m_checksumCRC32C); + } + + if(m_checksumSHA1HasBeenSet) + { + XmlNode checksumSHA1Node = parentNode.CreateChildElement("ChecksumSHA1"); + checksumSHA1Node.SetText(m_checksumSHA1); + } + + if(m_checksumSHA256HasBeenSet) + { + XmlNode checksumSHA256Node = parentNode.CreateChildElement("ChecksumSHA256"); + checksumSHA256Node.SetText(m_checksumSHA256); } } 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 index 0bc3641a33..5e8ade4bdf 100644 --- 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 @@ -28,6 +28,8 @@ CreateBucketRequest::CreateBucketRequest() : m_grantWriteACPHasBeenSet(false), m_objectLockEnabledForBucket(false), m_objectLockEnabledForBucketHasBeenSet(false), + m_objectOwnership(ObjectOwnership::NOT_SET), + m_objectOwnershipHasBeenSet(false), m_customizedAccessLogTagHasBeenSet(false) { } @@ -121,5 +123,22 @@ Aws::Http::HeaderValueCollection CreateBucketRequest::GetRequestSpecificHeaders( ss.str(""); } + if(m_objectOwnershipHasBeenSet) + { + headers.emplace("x-amz-object-ownership", ObjectOwnershipMapper::GetNameForObjectOwnership(m_objectOwnership)); + } + return headers; } + +CreateBucketRequest::EndpointParameters CreateBucketRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Static context parameters + parameters.emplace_back(Aws::String("DisableAccessPoints"), true, Aws::Endpoint::EndpointParameter::ParameterOrigin::STATIC_CONTEXT); + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 73a88bf2dc..2db712e113 100644 --- 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 @@ -53,6 +53,8 @@ CreateMultipartUploadRequest::CreateMultipartUploadRequest() : m_objectLockLegalHoldStatus(ObjectLockLegalHoldStatus::NOT_SET), m_objectLockLegalHoldStatusHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false), m_customizedAccessLogTagHasBeenSet(false) { } @@ -130,7 +132,7 @@ Aws::Http::HeaderValueCollection CreateMultipartUploadRequest::GetRequestSpecifi if(m_expiresHasBeenSet) { - headers.emplace("expires", m_expires.ToGmtString(DateFormat::RFC822)); + headers.emplace("expires", m_expires.ToGmtString(Aws::Utils::DateFormat::RFC822)); } if(m_grantFullControlHasBeenSet) @@ -249,7 +251,7 @@ Aws::Http::HeaderValueCollection CreateMultipartUploadRequest::GetRequestSpecifi if(m_objectLockRetainUntilDateHasBeenSet) { - headers.emplace("x-amz-object-lock-retain-until-date", m_objectLockRetainUntilDate.ToGmtString(DateFormat::ISO_8601)); + headers.emplace("x-amz-object-lock-retain-until-date", m_objectLockRetainUntilDate.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); } if(m_objectLockLegalHoldStatusHasBeenSet) @@ -264,5 +266,20 @@ Aws::Http::HeaderValueCollection CreateMultipartUploadRequest::GetRequestSpecifi ss.str(""); } + if(m_checksumAlgorithmHasBeenSet) + { + headers.emplace("x-amz-checksum-algorithm", ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm)); + } + return headers; } + +CreateMultipartUploadRequest::EndpointParameters CreateMultipartUploadRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 4a2772c9ef..d77d44d362 100644 --- 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 @@ -19,14 +19,16 @@ using namespace Aws; CreateMultipartUploadResult::CreateMultipartUploadResult() : m_serverSideEncryption(ServerSideEncryption::NOT_SET), m_bucketKeyEnabled(false), - m_requestCharged(RequestCharged::NOT_SET) + m_requestCharged(RequestCharged::NOT_SET), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET) { } CreateMultipartUploadResult::CreateMultipartUploadResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : m_serverSideEncryption(ServerSideEncryption::NOT_SET), m_bucketKeyEnabled(false), - m_requestCharged(RequestCharged::NOT_SET) + m_requestCharged(RequestCharged::NOT_SET), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET) { *this = result; } @@ -59,7 +61,7 @@ CreateMultipartUploadResult& CreateMultipartUploadResult::operator =(const Aws:: const auto& abortDateIter = headers.find("x-amz-abort-date"); if(abortDateIter != headers.end()) { - m_abortDate = DateTime(abortDateIter->second, DateFormat::RFC822); + m_abortDate = DateTime(abortDateIter->second, Aws::Utils::DateFormat::RFC822); } const auto& abortRuleIdIter = headers.find("x-amz-abort-rule-id"); @@ -110,5 +112,11 @@ CreateMultipartUploadResult& CreateMultipartUploadResult::operator =(const Aws:: m_requestCharged = RequestChargedMapper::GetRequestChargedForName(requestChargedIter->second); } + const auto& checksumAlgorithmIter = headers.find("x-amz-checksum-algorithm"); + if(checksumAlgorithmIter != headers.end()) + { + m_checksumAlgorithm = ChecksumAlgorithmMapper::GetChecksumAlgorithmForName(checksumAlgorithmIter->second); + } + return *this; } 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 index bcd1e8f320..721721bf25 100644 --- 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 @@ -71,3 +71,13 @@ Aws::Http::HeaderValueCollection DeleteBucketAnalyticsConfigurationRequest::GetR return headers; } + +DeleteBucketAnalyticsConfigurationRequest::EndpointParameters DeleteBucketAnalyticsConfigurationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index b52d99571a..9eb64d50c1 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection DeleteBucketCorsRequest::GetRequestSpecificHead return headers; } + +DeleteBucketCorsRequest::EndpointParameters DeleteBucketCorsRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 3e01a0b9dc..cbd8f93536 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection DeleteBucketEncryptionRequest::GetRequestSpecif return headers; } + +DeleteBucketEncryptionRequest::EndpointParameters DeleteBucketEncryptionRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index b48d573ee6..52855aeaa7 100644 --- 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 @@ -57,3 +57,13 @@ void DeleteBucketIntelligentTieringConfigurationRequest::AddQueryStringParameter } } + +DeleteBucketIntelligentTieringConfigurationRequest::EndpointParameters DeleteBucketIntelligentTieringConfigurationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 7bc2d179d6..2f421dac17 100644 --- 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 @@ -71,3 +71,13 @@ Aws::Http::HeaderValueCollection DeleteBucketInventoryConfigurationRequest::GetR return headers; } + +DeleteBucketInventoryConfigurationRequest::EndpointParameters DeleteBucketInventoryConfigurationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 54311cff3e..b8afa094ff 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection DeleteBucketLifecycleRequest::GetRequestSpecifi return headers; } + +DeleteBucketLifecycleRequest::EndpointParameters DeleteBucketLifecycleRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 631dee94a7..29f50338ab 100644 --- 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 @@ -71,3 +71,13 @@ Aws::Http::HeaderValueCollection DeleteBucketMetricsConfigurationRequest::GetReq return headers; } + +DeleteBucketMetricsConfigurationRequest::EndpointParameters DeleteBucketMetricsConfigurationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 5b18b12424..4ed933cda9 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection DeleteBucketOwnershipControlsRequest::GetReques return headers; } + +DeleteBucketOwnershipControlsRequest::EndpointParameters DeleteBucketOwnershipControlsRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 33bb2cef34..b9bda713ca 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection DeleteBucketPolicyRequest::GetRequestSpecificHe return headers; } + +DeleteBucketPolicyRequest::EndpointParameters DeleteBucketPolicyRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index af6092ee6c..0bcdf577cf 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection DeleteBucketReplicationRequest::GetRequestSpeci return headers; } + +DeleteBucketReplicationRequest::EndpointParameters DeleteBucketReplicationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 3cfa02d882..fe34195378 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection DeleteBucketRequest::GetRequestSpecificHeaders( return headers; } + +DeleteBucketRequest::EndpointParameters DeleteBucketRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 7d61b959f5..5df949880a 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection DeleteBucketTaggingRequest::GetRequestSpecificH return headers; } + +DeleteBucketTaggingRequest::EndpointParameters DeleteBucketTaggingRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 59bc58a8d7..2a7b23cfb6 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection DeleteBucketWebsiteRequest::GetRequestSpecificH return headers; } + +DeleteBucketWebsiteRequest::EndpointParameters DeleteBucketWebsiteRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 05766bb960..25ea77fa9b 100644 --- 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 @@ -74,7 +74,7 @@ DeleteMarkerEntry& DeleteMarkerEntry::operator =(const XmlNode& xmlNode) 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_lastModified = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(lastModifiedNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); m_lastModifiedHasBeenSet = true; } } @@ -114,7 +114,7 @@ void DeleteMarkerEntry::AddToNode(XmlNode& parentNode) const if(m_lastModifiedHasBeenSet) { XmlNode lastModifiedNode = parentNode.CreateChildElement("LastModified"); - lastModifiedNode.SetText(m_lastModified.ToGmtString(DateFormat::ISO_8601)); + lastModifiedNode.SetText(m_lastModified.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); } } 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 index 6bd83e7cbe..6a27dbf097 100644 --- 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 @@ -96,3 +96,13 @@ Aws::Http::HeaderValueCollection DeleteObjectRequest::GetRequestSpecificHeaders( return headers; } + +DeleteObjectRequest::EndpointParameters DeleteObjectRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 580a7fa70b..5d19b31c49 100644 --- 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 @@ -72,3 +72,13 @@ Aws::Http::HeaderValueCollection DeleteObjectTaggingRequest::GetRequestSpecificH return headers; } + +DeleteObjectTaggingRequest::EndpointParameters DeleteObjectTaggingRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 3f7759ca0a..1b1841fe8b 100644 --- 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 @@ -25,6 +25,8 @@ DeleteObjectsRequest::DeleteObjectsRequest() : m_bypassGovernanceRetention(false), m_bypassGovernanceRetentionHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false), m_customizedAccessLogTagHasBeenSet(false) { } @@ -97,5 +99,33 @@ Aws::Http::HeaderValueCollection DeleteObjectsRequest::GetRequestSpecificHeaders ss.str(""); } + if(m_checksumAlgorithmHasBeenSet) + { + headers.emplace("x-amz-sdk-checksum-algorithm", ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm)); + } + return headers; } + +DeleteObjectsRequest::EndpointParameters DeleteObjectsRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} + +Aws::String DeleteObjectsRequest::GetChecksumAlgorithmName() const +{ + if (m_checksumAlgorithm == ChecksumAlgorithm::NOT_SET) + { + return "md5"; + } + else + { + return ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm); + } +} + 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 index 750457f594..0f087377a7 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection DeletePublicAccessBlockRequest::GetRequestSpeci return headers; } + +DeletePublicAccessBlockRequest::EndpointParameters DeletePublicAccessBlockRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index c6e779ab06..e6aa390f59 100644 --- 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 @@ -37,6 +37,16 @@ namespace Aws 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"); + static const int s3_ObjectRestore_Delete_HASH = HashingUtils::HashString("s3:ObjectRestore:Delete"); + static const int s3_LifecycleTransition_HASH = HashingUtils::HashString("s3:LifecycleTransition"); + static const int s3_IntelligentTiering_HASH = HashingUtils::HashString("s3:IntelligentTiering"); + static const int s3_ObjectAcl_Put_HASH = HashingUtils::HashString("s3:ObjectAcl:Put"); + static const int s3_LifecycleExpiration_HASH = HashingUtils::HashString("s3:LifecycleExpiration:*"); + static const int s3_LifecycleExpiration_Delete_HASH = HashingUtils::HashString("s3:LifecycleExpiration:Delete"); + static const int s3_LifecycleExpiration_DeleteMarkerCreated_HASH = HashingUtils::HashString("s3:LifecycleExpiration:DeleteMarkerCreated"); + static const int s3_ObjectTagging_HASH = HashingUtils::HashString("s3:ObjectTagging:*"); + static const int s3_ObjectTagging_Put_HASH = HashingUtils::HashString("s3:ObjectTagging:Put"); + static const int s3_ObjectTagging_Delete_HASH = HashingUtils::HashString("s3:ObjectTagging:Delete"); Event GetEventForName(const Aws::String& name) @@ -110,6 +120,46 @@ namespace Aws { return Event::s3_Replication_OperationReplicatedAfterThreshold; } + else if (hashCode == s3_ObjectRestore_Delete_HASH) + { + return Event::s3_ObjectRestore_Delete; + } + else if (hashCode == s3_LifecycleTransition_HASH) + { + return Event::s3_LifecycleTransition; + } + else if (hashCode == s3_IntelligentTiering_HASH) + { + return Event::s3_IntelligentTiering; + } + else if (hashCode == s3_ObjectAcl_Put_HASH) + { + return Event::s3_ObjectAcl_Put; + } + else if (hashCode == s3_LifecycleExpiration_HASH) + { + return Event::s3_LifecycleExpiration; + } + else if (hashCode == s3_LifecycleExpiration_Delete_HASH) + { + return Event::s3_LifecycleExpiration_Delete; + } + else if (hashCode == s3_LifecycleExpiration_DeleteMarkerCreated_HASH) + { + return Event::s3_LifecycleExpiration_DeleteMarkerCreated; + } + else if (hashCode == s3_ObjectTagging_HASH) + { + return Event::s3_ObjectTagging; + } + else if (hashCode == s3_ObjectTagging_Put_HASH) + { + return Event::s3_ObjectTagging_Put; + } + else if (hashCode == s3_ObjectTagging_Delete_HASH) + { + return Event::s3_ObjectTagging_Delete; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -158,6 +208,26 @@ namespace Aws return "s3:Replication:OperationMissedThreshold"; case Event::s3_Replication_OperationReplicatedAfterThreshold: return "s3:Replication:OperationReplicatedAfterThreshold"; + case Event::s3_ObjectRestore_Delete: + return "s3:ObjectRestore:Delete"; + case Event::s3_LifecycleTransition: + return "s3:LifecycleTransition"; + case Event::s3_IntelligentTiering: + return "s3:IntelligentTiering"; + case Event::s3_ObjectAcl_Put: + return "s3:ObjectAcl:Put"; + case Event::s3_LifecycleExpiration: + return "s3:LifecycleExpiration:*"; + case Event::s3_LifecycleExpiration_Delete: + return "s3:LifecycleExpiration:Delete"; + case Event::s3_LifecycleExpiration_DeleteMarkerCreated: + return "s3:LifecycleExpiration:DeleteMarkerCreated"; + case Event::s3_ObjectTagging: + return "s3:ObjectTagging:*"; + case Event::s3_ObjectTagging_Put: + return "s3:ObjectTagging:Put"; + case Event::s3_ObjectTagging_Delete: + return "s3:ObjectTagging:Delete"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/EventBridgeConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/EventBridgeConfiguration.cpp new file mode 100644 index 0000000000..ebf1ca13d9 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/EventBridgeConfiguration.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/EventBridgeConfiguration.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 +{ + +EventBridgeConfiguration::EventBridgeConfiguration() +{ +} + +EventBridgeConfiguration::EventBridgeConfiguration(const XmlNode& xmlNode) +{ + *this = xmlNode; +} + +EventBridgeConfiguration& EventBridgeConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + } + + return *this; +} + +void EventBridgeConfiguration::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/GetBucketAccelerateConfigurationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketAccelerateConfigurationRequest.cpp index 3bc67a43cc..f144bc0c22 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection GetBucketAccelerateConfigurationRequest::GetReq return headers; } + +GetBucketAccelerateConfigurationRequest::EndpointParameters GetBucketAccelerateConfigurationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index df77a9e7f6..962a4eb555 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection GetBucketAclRequest::GetRequestSpecificHeaders( return headers; } + +GetBucketAclRequest::EndpointParameters GetBucketAclRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 5e3d792e2c..8dde64a2b2 100644 --- 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 @@ -71,3 +71,13 @@ Aws::Http::HeaderValueCollection GetBucketAnalyticsConfigurationRequest::GetRequ return headers; } + +GetBucketAnalyticsConfigurationRequest::EndpointParameters GetBucketAnalyticsConfigurationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 92cc762080..2f3e70a8eb 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection GetBucketCorsRequest::GetRequestSpecificHeaders return headers; } + +GetBucketCorsRequest::EndpointParameters GetBucketCorsRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index ad69f94035..1d679807c7 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection GetBucketEncryptionRequest::GetRequestSpecificH return headers; } + +GetBucketEncryptionRequest::EndpointParameters GetBucketEncryptionRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index ac5e664e69..1aeb94e440 100644 --- 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 @@ -57,3 +57,13 @@ void GetBucketIntelligentTieringConfigurationRequest::AddQueryStringParameters(U } } + +GetBucketIntelligentTieringConfigurationRequest::EndpointParameters GetBucketIntelligentTieringConfigurationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index f3ec3acdc5..cf462b3fa9 100644 --- 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 @@ -71,3 +71,13 @@ Aws::Http::HeaderValueCollection GetBucketInventoryConfigurationRequest::GetRequ return headers; } + +GetBucketInventoryConfigurationRequest::EndpointParameters GetBucketInventoryConfigurationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 5abc090ac4..019d5457a9 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection GetBucketLifecycleConfigurationRequest::GetRequ return headers; } + +GetBucketLifecycleConfigurationRequest::EndpointParameters GetBucketLifecycleConfigurationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 68e7f366f6..6958be9895 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection GetBucketLocationRequest::GetRequestSpecificHea return headers; } + +GetBucketLocationRequest::EndpointParameters GetBucketLocationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 24fc4e62b0..f748617711 100644 --- 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 @@ -36,6 +36,5 @@ GetBucketLocationResult& GetBucketLocationResult::operator =(const AmazonWebServ m_locationConstraint = BucketLocationConstraintMapper::GetBucketLocationConstraintForName(StringUtils::Trim(resultNode.GetText().c_str()).c_str()); } - return *this; + 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 index ee141ec35c..38a1cbd48b 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection GetBucketLoggingRequest::GetRequestSpecificHead return headers; } + +GetBucketLoggingRequest::EndpointParameters GetBucketLoggingRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index c384ad6f1e..11f5eacbb6 100644 --- 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 @@ -71,3 +71,13 @@ Aws::Http::HeaderValueCollection GetBucketMetricsConfigurationRequest::GetReques return headers; } + +GetBucketMetricsConfigurationRequest::EndpointParameters GetBucketMetricsConfigurationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 6e892ead3b..dd672659eb 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection GetBucketNotificationConfigurationRequest::GetR return headers; } + +GetBucketNotificationConfigurationRequest::EndpointParameters GetBucketNotificationConfigurationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index de68f4316a..9e7ff9481f 100644 --- 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 @@ -64,6 +64,11 @@ GetBucketNotificationConfigurationResult& GetBucketNotificationConfigurationResu } } + XmlNode eventBridgeConfigurationNode = resultNode.FirstChild("EventBridgeConfiguration"); + if(!eventBridgeConfigurationNode.IsNull()) + { + m_eventBridgeConfiguration = eventBridgeConfigurationNode; + } } 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 index efaa529d2e..b3f153a9b5 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection GetBucketOwnershipControlsRequest::GetRequestSp return headers; } + +GetBucketOwnershipControlsRequest::EndpointParameters GetBucketOwnershipControlsRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index e41b1fe0c5..e6571c8a6f 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection GetBucketPolicyRequest::GetRequestSpecificHeade return headers; } + +GetBucketPolicyRequest::EndpointParameters GetBucketPolicyRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 3c487f9634..c3af674bbd 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection GetBucketPolicyStatusRequest::GetRequestSpecifi return headers; } + +GetBucketPolicyStatusRequest::EndpointParameters GetBucketPolicyStatusRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 3dcadfa2be..7ef6b8a1b2 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection GetBucketReplicationRequest::GetRequestSpecific return headers; } + +GetBucketReplicationRequest::EndpointParameters GetBucketReplicationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 7f3e734b70..e369ccaab7 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection GetBucketRequestPaymentRequest::GetRequestSpeci return headers; } + +GetBucketRequestPaymentRequest::EndpointParameters GetBucketRequestPaymentRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 72373deaf1..f3e5ea4b74 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection GetBucketTaggingRequest::GetRequestSpecificHead return headers; } + +GetBucketTaggingRequest::EndpointParameters GetBucketTaggingRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 7583f79117..830ab5425d 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection GetBucketVersioningRequest::GetRequestSpecificH return headers; } + +GetBucketVersioningRequest::EndpointParameters GetBucketVersioningRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 067a281fa9..73510697c2 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection GetBucketWebsiteRequest::GetRequestSpecificHead return headers; } + +GetBucketWebsiteRequest::EndpointParameters GetBucketWebsiteRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 9019eea1c7..f0ee229d60 100644 --- 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 @@ -79,3 +79,13 @@ Aws::Http::HeaderValueCollection GetObjectAclRequest::GetRequestSpecificHeaders( return headers; } + +GetObjectAclRequest::EndpointParameters GetObjectAclRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesParts.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesParts.cpp new file mode 100644 index 0000000000..14b9a8ac28 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesParts.cpp @@ -0,0 +1,163 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetObjectAttributesParts.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 +{ + +GetObjectAttributesParts::GetObjectAttributesParts() : + m_totalPartsCount(0), + m_totalPartsCountHasBeenSet(false), + m_partNumberMarker(0), + m_partNumberMarkerHasBeenSet(false), + m_nextPartNumberMarker(0), + m_nextPartNumberMarkerHasBeenSet(false), + m_maxParts(0), + m_maxPartsHasBeenSet(false), + m_isTruncated(false), + m_isTruncatedHasBeenSet(false), + m_partsHasBeenSet(false) +{ +} + +GetObjectAttributesParts::GetObjectAttributesParts(const XmlNode& xmlNode) : + m_totalPartsCount(0), + m_totalPartsCountHasBeenSet(false), + m_partNumberMarker(0), + m_partNumberMarkerHasBeenSet(false), + m_nextPartNumberMarker(0), + m_nextPartNumberMarkerHasBeenSet(false), + m_maxParts(0), + m_maxPartsHasBeenSet(false), + m_isTruncated(false), + m_isTruncatedHasBeenSet(false), + m_partsHasBeenSet(false) +{ + *this = xmlNode; +} + +GetObjectAttributesParts& GetObjectAttributesParts::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode totalPartsCountNode = resultNode.FirstChild("PartsCount"); + if(!totalPartsCountNode.IsNull()) + { + m_totalPartsCount = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(totalPartsCountNode.GetText()).c_str()).c_str()); + m_totalPartsCountHasBeenSet = true; + } + XmlNode partNumberMarkerNode = resultNode.FirstChild("PartNumberMarker"); + if(!partNumberMarkerNode.IsNull()) + { + m_partNumberMarker = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(partNumberMarkerNode.GetText()).c_str()).c_str()); + m_partNumberMarkerHasBeenSet = true; + } + XmlNode nextPartNumberMarkerNode = resultNode.FirstChild("NextPartNumberMarker"); + if(!nextPartNumberMarkerNode.IsNull()) + { + m_nextPartNumberMarker = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(nextPartNumberMarkerNode.GetText()).c_str()).c_str()); + m_nextPartNumberMarkerHasBeenSet = true; + } + XmlNode maxPartsNode = resultNode.FirstChild("MaxParts"); + if(!maxPartsNode.IsNull()) + { + m_maxParts = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(maxPartsNode.GetText()).c_str()).c_str()); + m_maxPartsHasBeenSet = true; + } + XmlNode isTruncatedNode = resultNode.FirstChild("IsTruncated"); + if(!isTruncatedNode.IsNull()) + { + m_isTruncated = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(isTruncatedNode.GetText()).c_str()).c_str()); + m_isTruncatedHasBeenSet = true; + } + 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 GetObjectAttributesParts::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_totalPartsCountHasBeenSet) + { + XmlNode totalPartsCountNode = parentNode.CreateChildElement("PartsCount"); + ss << m_totalPartsCount; + totalPartsCountNode.SetText(ss.str()); + ss.str(""); + } + + if(m_partNumberMarkerHasBeenSet) + { + XmlNode partNumberMarkerNode = parentNode.CreateChildElement("PartNumberMarker"); + ss << m_partNumberMarker; + partNumberMarkerNode.SetText(ss.str()); + ss.str(""); + } + + if(m_nextPartNumberMarkerHasBeenSet) + { + XmlNode nextPartNumberMarkerNode = parentNode.CreateChildElement("NextPartNumberMarker"); + ss << m_nextPartNumberMarker; + nextPartNumberMarkerNode.SetText(ss.str()); + ss.str(""); + } + + if(m_maxPartsHasBeenSet) + { + XmlNode maxPartsNode = parentNode.CreateChildElement("MaxParts"); + ss << m_maxParts; + maxPartsNode.SetText(ss.str()); + ss.str(""); + } + + if(m_isTruncatedHasBeenSet) + { + XmlNode isTruncatedNode = parentNode.CreateChildElement("IsTruncated"); + ss << std::boolalpha << m_isTruncated; + isTruncatedNode.SetText(ss.str()); + ss.str(""); + } + + 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/GetObjectAttributesRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesRequest.cpp new file mode 100644 index 0000000000..87e567b7d5 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesRequest.cpp @@ -0,0 +1,144 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetObjectAttributesRequest.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; + +GetObjectAttributesRequest::GetObjectAttributesRequest() : + m_bucketHasBeenSet(false), + m_keyHasBeenSet(false), + m_versionIdHasBeenSet(false), + m_maxParts(0), + m_maxPartsHasBeenSet(false), + m_partNumberMarker(0), + m_partNumberMarkerHasBeenSet(false), + m_sSECustomerAlgorithmHasBeenSet(false), + m_sSECustomerKeyHasBeenSet(false), + m_sSECustomerKeyMD5HasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), + m_expectedBucketOwnerHasBeenSet(false), + m_objectAttributesHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + +Aws::String GetObjectAttributesRequest::SerializePayload() const +{ + return {}; +} + +void GetObjectAttributesRequest::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 GetObjectAttributesRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_maxPartsHasBeenSet) + { + ss << m_maxParts; + headers.emplace("x-amz-max-parts", ss.str()); + ss.str(""); + } + + if(m_partNumberMarkerHasBeenSet) + { + ss << m_partNumberMarker; + headers.emplace("x-amz-part-number-marker", 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(""); + } + + if(m_objectAttributesHasBeenSet) + { + for(const auto& item : m_objectAttributes) + { + ss << ObjectAttributesMapper::GetNameForObjectAttributes(item); + headers.emplace("x-amz-object-attributes", ss.str()); + ss.str(""); + } + } + + return headers; +} + +GetObjectAttributesRequest::EndpointParameters GetObjectAttributesRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesResult.cpp new file mode 100644 index 0000000000..2cb06ee5fe --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesResult.cpp @@ -0,0 +1,96 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetObjectAttributesResult.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; + +GetObjectAttributesResult::GetObjectAttributesResult() : + m_deleteMarker(false), + m_requestCharged(RequestCharged::NOT_SET), + m_storageClass(StorageClass::NOT_SET), + m_objectSize(0) +{ +} + +GetObjectAttributesResult::GetObjectAttributesResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_deleteMarker(false), + m_requestCharged(RequestCharged::NOT_SET), + m_storageClass(StorageClass::NOT_SET), + m_objectSize(0) +{ + *this = result; +} + +GetObjectAttributesResult& GetObjectAttributesResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode eTagNode = resultNode.FirstChild("ETag"); + if(!eTagNode.IsNull()) + { + m_eTag = Aws::Utils::Xml::DecodeEscapedXmlText(eTagNode.GetText()); + } + XmlNode checksumNode = resultNode.FirstChild("Checksum"); + if(!checksumNode.IsNull()) + { + m_checksum = checksumNode; + } + XmlNode objectPartsNode = resultNode.FirstChild("ObjectParts"); + if(!objectPartsNode.IsNull()) + { + m_objectParts = objectPartsNode; + } + XmlNode storageClassNode = resultNode.FirstChild("StorageClass"); + if(!storageClassNode.IsNull()) + { + m_storageClass = StorageClassMapper::GetStorageClassForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(storageClassNode.GetText()).c_str()).c_str()); + } + XmlNode objectSizeNode = resultNode.FirstChild("ObjectSize"); + if(!objectSizeNode.IsNull()) + { + m_objectSize = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(objectSizeNode.GetText()).c_str()).c_str()); + } + } + + 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& lastModifiedIter = headers.find("last-modified"); + if(lastModifiedIter != headers.end()) + { + m_lastModified = DateTime(lastModifiedIter->second, Aws::Utils::DateFormat::RFC822); + } + + 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/GetObjectLegalHoldRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLegalHoldRequest.cpp index 6a3ba662dc..f6b41c0e8f 100644 --- 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 @@ -79,3 +79,13 @@ Aws::Http::HeaderValueCollection GetObjectLegalHoldRequest::GetRequestSpecificHe return headers; } + +GetObjectLegalHoldRequest::EndpointParameters GetObjectLegalHoldRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index d1cf37a030..59ebdb725e 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection GetObjectLockConfigurationRequest::GetRequestSp return headers; } + +GetObjectLockConfigurationRequest::EndpointParameters GetObjectLockConfigurationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index a1939e2471..94dcf96673 100644 --- 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 @@ -39,6 +39,8 @@ GetObjectRequest::GetObjectRequest() : m_partNumber(0), m_partNumberHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), + m_checksumMode(ChecksumMode::NOT_SET), + m_checksumModeHasBeenSet(false), m_customizedAccessLogTagHasBeenSet(false) { } @@ -88,7 +90,7 @@ void GetObjectRequest::AddQueryStringParameters(URI& uri) const if(m_responseExpiresHasBeenSet) { - ss << m_responseExpires.ToGmtString(DateFormat::RFC822); + ss << m_responseExpires.ToGmtString(Aws::Utils::DateFormat::RFC822); uri.AddQueryStringParameter("response-expires", ss.str()); ss.str(""); } @@ -139,7 +141,7 @@ Aws::Http::HeaderValueCollection GetObjectRequest::GetRequestSpecificHeaders() c if(m_ifModifiedSinceHasBeenSet) { - headers.emplace("if-modified-since", m_ifModifiedSince.ToGmtString(DateFormat::RFC822)); + headers.emplace("if-modified-since", m_ifModifiedSince.ToGmtString(Aws::Utils::DateFormat::RFC822)); } if(m_ifNoneMatchHasBeenSet) @@ -151,7 +153,7 @@ Aws::Http::HeaderValueCollection GetObjectRequest::GetRequestSpecificHeaders() c if(m_ifUnmodifiedSinceHasBeenSet) { - headers.emplace("if-unmodified-since", m_ifUnmodifiedSince.ToGmtString(DateFormat::RFC822)); + headers.emplace("if-unmodified-since", m_ifUnmodifiedSince.ToGmtString(Aws::Utils::DateFormat::RFC822)); } if(m_rangeHasBeenSet) @@ -194,5 +196,35 @@ Aws::Http::HeaderValueCollection GetObjectRequest::GetRequestSpecificHeaders() c ss.str(""); } + if(m_checksumModeHasBeenSet) + { + headers.emplace("x-amz-checksum-mode", ChecksumModeMapper::GetNameForChecksumMode(m_checksumMode)); + } + return headers; } + +GetObjectRequest::EndpointParameters GetObjectRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} +bool GetObjectRequest::ShouldValidateResponseChecksum() const +{ + return m_checksumMode == ChecksumMode::ENABLED; +} + +Aws::Vector<Aws::String> GetObjectRequest::GetResponseChecksumAlgorithmNames() const +{ + Aws::Vector<Aws::String> responseChecksumAlgorithmNames; + responseChecksumAlgorithmNames.push_back("CRC32"); + responseChecksumAlgorithmNames.push_back("CRC32C"); + responseChecksumAlgorithmNames.push_back("SHA256"); + responseChecksumAlgorithmNames.push_back("SHA1"); + return responseChecksumAlgorithmNames; +} + 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 index f0959a570a..50be648cd6 100644 --- 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 @@ -41,6 +41,10 @@ GetObjectResult::GetObjectResult(GetObjectResult&& toMove) : m_lastModified(std::move(toMove.m_lastModified)), m_contentLength(toMove.m_contentLength), m_eTag(std::move(toMove.m_eTag)), + m_checksumCRC32(std::move(toMove.m_checksumCRC32)), + m_checksumCRC32C(std::move(toMove.m_checksumCRC32C)), + m_checksumSHA1(std::move(toMove.m_checksumSHA1)), + m_checksumSHA256(std::move(toMove.m_checksumSHA256)), m_missingMeta(toMove.m_missingMeta), m_versionId(std::move(toMove.m_versionId)), m_cacheControl(std::move(toMove.m_cacheControl)), @@ -85,6 +89,10 @@ GetObjectResult& GetObjectResult::operator=(GetObjectResult&& toMove) m_lastModified = std::move(toMove.m_lastModified); m_contentLength = toMove.m_contentLength; m_eTag = std::move(toMove.m_eTag); + m_checksumCRC32 = std::move(toMove.m_checksumCRC32); + m_checksumCRC32C = std::move(toMove.m_checksumCRC32C); + m_checksumSHA1 = std::move(toMove.m_checksumSHA1); + m_checksumSHA256 = std::move(toMove.m_checksumSHA256); m_missingMeta = toMove.m_missingMeta; m_versionId = std::move(toMove.m_versionId); m_cacheControl = std::move(toMove.m_cacheControl); @@ -164,7 +172,7 @@ GetObjectResult& GetObjectResult::operator =(Aws::AmazonWebServiceResult<Respons const auto& lastModifiedIter = headers.find("last-modified"); if(lastModifiedIter != headers.end()) { - m_lastModified = DateTime(lastModifiedIter->second, DateFormat::RFC822); + m_lastModified = DateTime(lastModifiedIter->second, Aws::Utils::DateFormat::RFC822); } const auto& contentLengthIter = headers.find("content-length"); @@ -179,6 +187,30 @@ GetObjectResult& GetObjectResult::operator =(Aws::AmazonWebServiceResult<Respons m_eTag = eTagIter->second; } + const auto& checksumCRC32Iter = headers.find("x-amz-checksum-crc32"); + if(checksumCRC32Iter != headers.end()) + { + m_checksumCRC32 = checksumCRC32Iter->second; + } + + const auto& checksumCRC32CIter = headers.find("x-amz-checksum-crc32c"); + if(checksumCRC32CIter != headers.end()) + { + m_checksumCRC32C = checksumCRC32CIter->second; + } + + const auto& checksumSHA1Iter = headers.find("x-amz-checksum-sha1"); + if(checksumSHA1Iter != headers.end()) + { + m_checksumSHA1 = checksumSHA1Iter->second; + } + + const auto& checksumSHA256Iter = headers.find("x-amz-checksum-sha256"); + if(checksumSHA256Iter != headers.end()) + { + m_checksumSHA256 = checksumSHA256Iter->second; + } + const auto& missingMetaIter = headers.find("x-amz-missing-meta"); if(missingMetaIter != headers.end()) { @@ -230,7 +262,7 @@ GetObjectResult& GetObjectResult::operator =(Aws::AmazonWebServiceResult<Respons const auto& expiresIter = headers.find("expires"); if(expiresIter != headers.end()) { - m_expires = DateTime(expiresIter->second, DateFormat::RFC822); + m_expires = DateTime(expiresIter->second, Aws::Utils::DateFormat::RFC822); } const auto& websiteRedirectLocationIter = headers.find("x-amz-website-redirect-location"); @@ -319,7 +351,7 @@ GetObjectResult& GetObjectResult::operator =(Aws::AmazonWebServiceResult<Respons const auto& objectLockRetainUntilDateIter = headers.find("x-amz-object-lock-retain-until-date"); if(objectLockRetainUntilDateIter != headers.end()) { - m_objectLockRetainUntilDate = DateTime(objectLockRetainUntilDateIter->second, DateFormat::ISO_8601); + m_objectLockRetainUntilDate = DateTime(objectLockRetainUntilDateIter->second, Aws::Utils::DateFormat::ISO_8601); } const auto& objectLockLegalHoldStatusIter = headers.find("x-amz-object-lock-legal-hold"); 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 index d1917da723..a825b3ba4c 100644 --- 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 @@ -79,3 +79,13 @@ Aws::Http::HeaderValueCollection GetObjectRetentionRequest::GetRequestSpecificHe return headers; } + +GetObjectRetentionRequest::EndpointParameters GetObjectRetentionRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index fb9a5d55e4..d2f2fa1127 100644 --- 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 @@ -79,3 +79,13 @@ Aws::Http::HeaderValueCollection GetObjectTaggingRequest::GetRequestSpecificHead return headers; } + +GetObjectTaggingRequest::EndpointParameters GetObjectTaggingRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 05aae88aa2..f0975e6b60 100644 --- 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 @@ -71,3 +71,13 @@ Aws::Http::HeaderValueCollection GetObjectTorrentRequest::GetRequestSpecificHead return headers; } + +GetObjectTorrentRequest::EndpointParameters GetObjectTorrentRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 6616e19c0b..137a2d2a36 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection GetPublicAccessBlockRequest::GetRequestSpecific return headers; } + +GetPublicAccessBlockRequest::EndpointParameters GetPublicAccessBlockRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index b503f37b81..9cc24f6e14 100644 --- 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 @@ -63,3 +63,13 @@ Aws::Http::HeaderValueCollection HeadBucketRequest::GetRequestSpecificHeaders() return headers; } + +HeadBucketRequest::EndpointParameters HeadBucketRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 7bf7b7239e..e40ec1f7cf 100644 --- 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 @@ -33,6 +33,8 @@ HeadObjectRequest::HeadObjectRequest() : m_partNumber(0), m_partNumberHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), + m_checksumMode(ChecksumMode::NOT_SET), + m_checksumModeHasBeenSet(false), m_customizedAccessLogTagHasBeenSet(false) { } @@ -91,7 +93,7 @@ Aws::Http::HeaderValueCollection HeadObjectRequest::GetRequestSpecificHeaders() if(m_ifModifiedSinceHasBeenSet) { - headers.emplace("if-modified-since", m_ifModifiedSince.ToGmtString(DateFormat::RFC822)); + headers.emplace("if-modified-since", m_ifModifiedSince.ToGmtString(Aws::Utils::DateFormat::RFC822)); } if(m_ifNoneMatchHasBeenSet) @@ -103,7 +105,7 @@ Aws::Http::HeaderValueCollection HeadObjectRequest::GetRequestSpecificHeaders() if(m_ifUnmodifiedSinceHasBeenSet) { - headers.emplace("if-unmodified-since", m_ifUnmodifiedSince.ToGmtString(DateFormat::RFC822)); + headers.emplace("if-unmodified-since", m_ifUnmodifiedSince.ToGmtString(Aws::Utils::DateFormat::RFC822)); } if(m_rangeHasBeenSet) @@ -146,5 +148,20 @@ Aws::Http::HeaderValueCollection HeadObjectRequest::GetRequestSpecificHeaders() ss.str(""); } + if(m_checksumModeHasBeenSet) + { + headers.emplace("x-amz-checksum-mode", ChecksumModeMapper::GetNameForChecksumMode(m_checksumMode)); + } + return headers; } + +HeadObjectRequest::EndpointParameters HeadObjectRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index f498d56aab..f68958d355 100644 --- 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 @@ -92,7 +92,7 @@ HeadObjectResult& HeadObjectResult::operator =(const Aws::AmazonWebServiceResult const auto& lastModifiedIter = headers.find("last-modified"); if(lastModifiedIter != headers.end()) { - m_lastModified = DateTime(lastModifiedIter->second, DateFormat::RFC822); + m_lastModified = DateTime(lastModifiedIter->second, Aws::Utils::DateFormat::RFC822); } const auto& contentLengthIter = headers.find("content-length"); @@ -101,6 +101,30 @@ HeadObjectResult& HeadObjectResult::operator =(const Aws::AmazonWebServiceResult m_contentLength = StringUtils::ConvertToInt64(contentLengthIter->second.c_str()); } + const auto& checksumCRC32Iter = headers.find("x-amz-checksum-crc32"); + if(checksumCRC32Iter != headers.end()) + { + m_checksumCRC32 = checksumCRC32Iter->second; + } + + const auto& checksumCRC32CIter = headers.find("x-amz-checksum-crc32c"); + if(checksumCRC32CIter != headers.end()) + { + m_checksumCRC32C = checksumCRC32CIter->second; + } + + const auto& checksumSHA1Iter = headers.find("x-amz-checksum-sha1"); + if(checksumSHA1Iter != headers.end()) + { + m_checksumSHA1 = checksumSHA1Iter->second; + } + + const auto& checksumSHA256Iter = headers.find("x-amz-checksum-sha256"); + if(checksumSHA256Iter != headers.end()) + { + m_checksumSHA256 = checksumSHA256Iter->second; + } + const auto& eTagIter = headers.find("etag"); if(eTagIter != headers.end()) { @@ -152,7 +176,7 @@ HeadObjectResult& HeadObjectResult::operator =(const Aws::AmazonWebServiceResult const auto& expiresIter = headers.find("expires"); if(expiresIter != headers.end()) { - m_expires = DateTime(expiresIter->second, DateFormat::RFC822); + m_expires = DateTime(expiresIter->second, Aws::Utils::DateFormat::RFC822); } const auto& websiteRedirectLocationIter = headers.find("x-amz-website-redirect-location"); @@ -235,7 +259,7 @@ HeadObjectResult& HeadObjectResult::operator =(const Aws::AmazonWebServiceResult const auto& objectLockRetainUntilDateIter = headers.find("x-amz-object-lock-retain-until-date"); if(objectLockRetainUntilDateIter != headers.end()) { - m_objectLockRetainUntilDate = DateTime(objectLockRetainUntilDateIter->second, DateFormat::ISO_8601); + m_objectLockRetainUntilDate = DateTime(objectLockRetainUntilDateIter->second, Aws::Utils::DateFormat::ISO_8601); } const auto& objectLockLegalHoldStatusIter = headers.find("x-amz-object-lock-legal-hold"); 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 index 00ae5fda49..a9b64dd1f1 100644 --- 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 @@ -31,6 +31,8 @@ namespace Aws static const int ObjectLockMode_HASH = HashingUtils::HashString("ObjectLockMode"); static const int ObjectLockLegalHoldStatus_HASH = HashingUtils::HashString("ObjectLockLegalHoldStatus"); static const int IntelligentTieringAccessTier_HASH = HashingUtils::HashString("IntelligentTieringAccessTier"); + static const int BucketKeyStatus_HASH = HashingUtils::HashString("BucketKeyStatus"); + static const int ChecksumAlgorithm_HASH = HashingUtils::HashString("ChecksumAlgorithm"); InventoryOptionalField GetInventoryOptionalFieldForName(const Aws::String& name) @@ -80,6 +82,14 @@ namespace Aws { return InventoryOptionalField::IntelligentTieringAccessTier; } + else if (hashCode == BucketKeyStatus_HASH) + { + return InventoryOptionalField::BucketKeyStatus; + } + else if (hashCode == ChecksumAlgorithm_HASH) + { + return InventoryOptionalField::ChecksumAlgorithm; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -116,6 +126,10 @@ namespace Aws return "ObjectLockLegalHoldStatus"; case InventoryOptionalField::IntelligentTieringAccessTier: return "IntelligentTieringAccessTier"; + case InventoryOptionalField::BucketKeyStatus: + return "BucketKeyStatus"; + case InventoryOptionalField::ChecksumAlgorithm: + return "ChecksumAlgorithm"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) 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 index be347d18f0..9d579d1c5c 100644 --- 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 @@ -48,7 +48,7 @@ LifecycleExpiration& LifecycleExpiration::operator =(const XmlNode& xmlNode) 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_date = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(dateNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); m_dateHasBeenSet = true; } XmlNode daysNode = resultNode.FirstChild("Days"); @@ -74,7 +74,7 @@ void LifecycleExpiration::AddToNode(XmlNode& parentNode) const if(m_dateHasBeenSet) { XmlNode dateNode = parentNode.CreateChildElement("Date"); - dateNode.SetText(m_date.ToGmtString(DateFormat::ISO_8601)); + dateNode.SetText(m_date.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); } if(m_daysHasBeenSet) 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 index 833c1d99ea..b3358b10c3 100644 --- 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 @@ -22,13 +22,21 @@ namespace Model LifecycleRuleAndOperator::LifecycleRuleAndOperator() : m_prefixHasBeenSet(false), - m_tagsHasBeenSet(false) + m_tagsHasBeenSet(false), + m_objectSizeGreaterThan(0), + m_objectSizeGreaterThanHasBeenSet(false), + m_objectSizeLessThan(0), + m_objectSizeLessThanHasBeenSet(false) { } LifecycleRuleAndOperator::LifecycleRuleAndOperator(const XmlNode& xmlNode) : m_prefixHasBeenSet(false), - m_tagsHasBeenSet(false) + m_tagsHasBeenSet(false), + m_objectSizeGreaterThan(0), + m_objectSizeGreaterThanHasBeenSet(false), + m_objectSizeLessThan(0), + m_objectSizeLessThanHasBeenSet(false) { *this = xmlNode; } @@ -57,6 +65,18 @@ LifecycleRuleAndOperator& LifecycleRuleAndOperator::operator =(const XmlNode& xm m_tagsHasBeenSet = true; } + XmlNode objectSizeGreaterThanNode = resultNode.FirstChild("ObjectSizeGreaterThan"); + if(!objectSizeGreaterThanNode.IsNull()) + { + m_objectSizeGreaterThan = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(objectSizeGreaterThanNode.GetText()).c_str()).c_str()); + m_objectSizeGreaterThanHasBeenSet = true; + } + XmlNode objectSizeLessThanNode = resultNode.FirstChild("ObjectSizeLessThan"); + if(!objectSizeLessThanNode.IsNull()) + { + m_objectSizeLessThan = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(objectSizeLessThanNode.GetText()).c_str()).c_str()); + m_objectSizeLessThanHasBeenSet = true; + } } return *this; @@ -81,6 +101,22 @@ void LifecycleRuleAndOperator::AddToNode(XmlNode& parentNode) const } } + if(m_objectSizeGreaterThanHasBeenSet) + { + XmlNode objectSizeGreaterThanNode = parentNode.CreateChildElement("ObjectSizeGreaterThan"); + ss << m_objectSizeGreaterThan; + objectSizeGreaterThanNode.SetText(ss.str()); + ss.str(""); + } + + if(m_objectSizeLessThanHasBeenSet) + { + XmlNode objectSizeLessThanNode = parentNode.CreateChildElement("ObjectSizeLessThan"); + ss << m_objectSizeLessThan; + objectSizeLessThanNode.SetText(ss.str()); + ss.str(""); + } + } } // namespace Model 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 index 0f56fb9044..ee9aedeed5 100644 --- 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 @@ -23,6 +23,10 @@ namespace Model LifecycleRuleFilter::LifecycleRuleFilter() : m_prefixHasBeenSet(false), m_tagHasBeenSet(false), + m_objectSizeGreaterThan(0), + m_objectSizeGreaterThanHasBeenSet(false), + m_objectSizeLessThan(0), + m_objectSizeLessThanHasBeenSet(false), m_andHasBeenSet(false) { } @@ -30,6 +34,10 @@ LifecycleRuleFilter::LifecycleRuleFilter() : LifecycleRuleFilter::LifecycleRuleFilter(const XmlNode& xmlNode) : m_prefixHasBeenSet(false), m_tagHasBeenSet(false), + m_objectSizeGreaterThan(0), + m_objectSizeGreaterThanHasBeenSet(false), + m_objectSizeLessThan(0), + m_objectSizeLessThanHasBeenSet(false), m_andHasBeenSet(false) { *this = xmlNode; @@ -53,6 +61,18 @@ LifecycleRuleFilter& LifecycleRuleFilter::operator =(const XmlNode& xmlNode) m_tag = tagNode; m_tagHasBeenSet = true; } + XmlNode objectSizeGreaterThanNode = resultNode.FirstChild("ObjectSizeGreaterThan"); + if(!objectSizeGreaterThanNode.IsNull()) + { + m_objectSizeGreaterThan = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(objectSizeGreaterThanNode.GetText()).c_str()).c_str()); + m_objectSizeGreaterThanHasBeenSet = true; + } + XmlNode objectSizeLessThanNode = resultNode.FirstChild("ObjectSizeLessThan"); + if(!objectSizeLessThanNode.IsNull()) + { + m_objectSizeLessThan = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(objectSizeLessThanNode.GetText()).c_str()).c_str()); + m_objectSizeLessThanHasBeenSet = true; + } XmlNode andNode = resultNode.FirstChild("And"); if(!andNode.IsNull()) { @@ -79,6 +99,22 @@ void LifecycleRuleFilter::AddToNode(XmlNode& parentNode) const m_tag.AddToNode(tagNode); } + if(m_objectSizeGreaterThanHasBeenSet) + { + XmlNode objectSizeGreaterThanNode = parentNode.CreateChildElement("ObjectSizeGreaterThan"); + ss << m_objectSizeGreaterThan; + objectSizeGreaterThanNode.SetText(ss.str()); + ss.str(""); + } + + if(m_objectSizeLessThanHasBeenSet) + { + XmlNode objectSizeLessThanNode = parentNode.CreateChildElement("ObjectSizeLessThan"); + ss << m_objectSizeLessThan; + objectSizeLessThanNode.SetText(ss.str()); + ss.str(""); + } + if(m_andHasBeenSet) { XmlNode andNode = parentNode.CreateChildElement("And"); 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 index 5b114920e1..3c79cd9684 100644 --- 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 @@ -71,3 +71,13 @@ Aws::Http::HeaderValueCollection ListBucketAnalyticsConfigurationsRequest::GetRe return headers; } + +ListBucketAnalyticsConfigurationsRequest::EndpointParameters ListBucketAnalyticsConfigurationsRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 8e83bdec35..80991f96d3 100644 --- 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 @@ -57,3 +57,13 @@ void ListBucketIntelligentTieringConfigurationsRequest::AddQueryStringParameters } } + +ListBucketIntelligentTieringConfigurationsRequest::EndpointParameters ListBucketIntelligentTieringConfigurationsRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index fbd8f9ff83..4487984600 100644 --- 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 @@ -71,3 +71,13 @@ Aws::Http::HeaderValueCollection ListBucketInventoryConfigurationsRequest::GetRe return headers; } + +ListBucketInventoryConfigurationsRequest::EndpointParameters ListBucketInventoryConfigurationsRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 3978ec46f8..db5bd39a59 100644 --- 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 @@ -71,3 +71,13 @@ Aws::Http::HeaderValueCollection ListBucketMetricsConfigurationsRequest::GetRequ return headers; } + +ListBucketMetricsConfigurationsRequest::EndpointParameters ListBucketMetricsConfigurationsRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 9723e16a9d..528104a503 100644 --- 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 @@ -113,3 +113,13 @@ Aws::Http::HeaderValueCollection ListMultipartUploadsRequest::GetRequestSpecific return headers; } + +ListMultipartUploadsRequest::EndpointParameters ListMultipartUploadsRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 2336f09ef8..471cb4a33d 100644 --- 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 @@ -113,3 +113,13 @@ Aws::Http::HeaderValueCollection ListObjectVersionsRequest::GetRequestSpecificHe return headers; } + +ListObjectVersionsRequest::EndpointParameters ListObjectVersionsRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 33abec092f..a32047ac5f 100644 --- 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 @@ -112,3 +112,13 @@ Aws::Http::HeaderValueCollection ListObjectsRequest::GetRequestSpecificHeaders() return headers; } + +ListObjectsRequest::EndpointParameters ListObjectsRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 2feb9b83c1..68a4ddc2df 100644 --- 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 @@ -129,3 +129,13 @@ Aws::Http::HeaderValueCollection ListObjectsV2Request::GetRequestSpecificHeaders return headers; } + +ListObjectsV2Request::EndpointParameters ListObjectsV2Request::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 59ff12e4d1..2ddc183789 100644 --- 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 @@ -27,6 +27,9 @@ ListPartsRequest::ListPartsRequest() : m_requestPayer(RequestPayer::NOT_SET), m_requestPayerHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), + m_sSECustomerAlgorithmHasBeenSet(false), + m_sSECustomerKeyHasBeenSet(false), + m_sSECustomerKeyMD5HasBeenSet(false), m_customizedAccessLogTagHasBeenSet(false) { } @@ -95,5 +98,36 @@ Aws::Http::HeaderValueCollection ListPartsRequest::GetRequestSpecificHeaders() c 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(""); + } + return headers; } + +ListPartsRequest::EndpointParameters ListPartsRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index f4638f2a06..d61990cf1b 100644 --- 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 @@ -22,7 +22,8 @@ ListPartsResult::ListPartsResult() : m_maxParts(0), m_isTruncated(false), m_storageClass(StorageClass::NOT_SET), - m_requestCharged(RequestCharged::NOT_SET) + m_requestCharged(RequestCharged::NOT_SET), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET) { } @@ -32,7 +33,8 @@ ListPartsResult::ListPartsResult(const Aws::AmazonWebServiceResult<XmlDocument>& m_maxParts(0), m_isTruncated(false), m_storageClass(StorageClass::NOT_SET), - m_requestCharged(RequestCharged::NOT_SET) + m_requestCharged(RequestCharged::NOT_SET), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET) { *this = result; } @@ -105,13 +107,18 @@ ListPartsResult& ListPartsResult::operator =(const Aws::AmazonWebServiceResult<X { m_storageClass = StorageClassMapper::GetStorageClassForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(storageClassNode.GetText()).c_str()).c_str()); } + XmlNode checksumAlgorithmNode = resultNode.FirstChild("ChecksumAlgorithm"); + if(!checksumAlgorithmNode.IsNull()) + { + m_checksumAlgorithm = ChecksumAlgorithmMapper::GetChecksumAlgorithmForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(checksumAlgorithmNode.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); + m_abortDate = DateTime(abortDateIter->second, Aws::Utils::DateFormat::RFC822); } const auto& abortRuleIdIter = headers.find("x-amz-abort-rule-id"); 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 index 74951cd0eb..711740443b 100644 --- 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 @@ -22,13 +22,15 @@ namespace Model MetricsAndOperator::MetricsAndOperator() : m_prefixHasBeenSet(false), - m_tagsHasBeenSet(false) + m_tagsHasBeenSet(false), + m_accessPointArnHasBeenSet(false) { } MetricsAndOperator::MetricsAndOperator(const XmlNode& xmlNode) : m_prefixHasBeenSet(false), - m_tagsHasBeenSet(false) + m_tagsHasBeenSet(false), + m_accessPointArnHasBeenSet(false) { *this = xmlNode; } @@ -57,6 +59,12 @@ MetricsAndOperator& MetricsAndOperator::operator =(const XmlNode& xmlNode) m_tagsHasBeenSet = true; } + XmlNode accessPointArnNode = resultNode.FirstChild("AccessPointArn"); + if(!accessPointArnNode.IsNull()) + { + m_accessPointArn = Aws::Utils::Xml::DecodeEscapedXmlText(accessPointArnNode.GetText()); + m_accessPointArnHasBeenSet = true; + } } return *this; @@ -81,6 +89,12 @@ void MetricsAndOperator::AddToNode(XmlNode& parentNode) const } } + if(m_accessPointArnHasBeenSet) + { + XmlNode accessPointArnNode = parentNode.CreateChildElement("AccessPointArn"); + accessPointArnNode.SetText(m_accessPointArn); + } + } } // namespace Model 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 index fa7ade5849..90cda86e09 100644 --- 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 @@ -23,6 +23,7 @@ namespace Model MetricsFilter::MetricsFilter() : m_prefixHasBeenSet(false), m_tagHasBeenSet(false), + m_accessPointArnHasBeenSet(false), m_andHasBeenSet(false) { } @@ -30,6 +31,7 @@ MetricsFilter::MetricsFilter() : MetricsFilter::MetricsFilter(const XmlNode& xmlNode) : m_prefixHasBeenSet(false), m_tagHasBeenSet(false), + m_accessPointArnHasBeenSet(false), m_andHasBeenSet(false) { *this = xmlNode; @@ -53,6 +55,12 @@ MetricsFilter& MetricsFilter::operator =(const XmlNode& xmlNode) m_tag = tagNode; m_tagHasBeenSet = true; } + XmlNode accessPointArnNode = resultNode.FirstChild("AccessPointArn"); + if(!accessPointArnNode.IsNull()) + { + m_accessPointArn = Aws::Utils::Xml::DecodeEscapedXmlText(accessPointArnNode.GetText()); + m_accessPointArnHasBeenSet = true; + } XmlNode andNode = resultNode.FirstChild("And"); if(!andNode.IsNull()) { @@ -79,6 +87,12 @@ void MetricsFilter::AddToNode(XmlNode& parentNode) const m_tag.AddToNode(tagNode); } + if(m_accessPointArnHasBeenSet) + { + XmlNode accessPointArnNode = parentNode.CreateChildElement("AccessPointArn"); + accessPointArnNode.SetText(m_accessPointArn); + } + if(m_andHasBeenSet) { XmlNode andNode = parentNode.CreateChildElement("And"); 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 index 6d92ea2cb6..c64926a272 100644 --- 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 @@ -27,7 +27,9 @@ MultipartUpload::MultipartUpload() : m_storageClass(StorageClass::NOT_SET), m_storageClassHasBeenSet(false), m_ownerHasBeenSet(false), - m_initiatorHasBeenSet(false) + m_initiatorHasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false) { } @@ -38,7 +40,9 @@ MultipartUpload::MultipartUpload(const XmlNode& xmlNode) : m_storageClass(StorageClass::NOT_SET), m_storageClassHasBeenSet(false), m_ownerHasBeenSet(false), - m_initiatorHasBeenSet(false) + m_initiatorHasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false) { *this = xmlNode; } @@ -64,7 +68,7 @@ MultipartUpload& MultipartUpload::operator =(const XmlNode& xmlNode) 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_initiated = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(initiatedNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); m_initiatedHasBeenSet = true; } XmlNode storageClassNode = resultNode.FirstChild("StorageClass"); @@ -85,6 +89,12 @@ MultipartUpload& MultipartUpload::operator =(const XmlNode& xmlNode) m_initiator = initiatorNode; m_initiatorHasBeenSet = true; } + XmlNode checksumAlgorithmNode = resultNode.FirstChild("ChecksumAlgorithm"); + if(!checksumAlgorithmNode.IsNull()) + { + m_checksumAlgorithm = ChecksumAlgorithmMapper::GetChecksumAlgorithmForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(checksumAlgorithmNode.GetText()).c_str()).c_str()); + m_checksumAlgorithmHasBeenSet = true; + } } return *this; @@ -108,7 +118,7 @@ void MultipartUpload::AddToNode(XmlNode& parentNode) const if(m_initiatedHasBeenSet) { XmlNode initiatedNode = parentNode.CreateChildElement("Initiated"); - initiatedNode.SetText(m_initiated.ToGmtString(DateFormat::ISO_8601)); + initiatedNode.SetText(m_initiated.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); } if(m_storageClassHasBeenSet) @@ -129,6 +139,12 @@ void MultipartUpload::AddToNode(XmlNode& parentNode) const m_initiator.AddToNode(initiatorNode); } + if(m_checksumAlgorithmHasBeenSet) + { + XmlNode checksumAlgorithmNode = parentNode.CreateChildElement("ChecksumAlgorithm"); + checksumAlgorithmNode.SetText(ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm)); + } + } } // namespace Model 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 index ab6db39f61..a3282e5fc9 100644 --- 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 @@ -22,13 +22,17 @@ namespace Model NoncurrentVersionExpiration::NoncurrentVersionExpiration() : m_noncurrentDays(0), - m_noncurrentDaysHasBeenSet(false) + m_noncurrentDaysHasBeenSet(false), + m_newerNoncurrentVersions(0), + m_newerNoncurrentVersionsHasBeenSet(false) { } NoncurrentVersionExpiration::NoncurrentVersionExpiration(const XmlNode& xmlNode) : m_noncurrentDays(0), - m_noncurrentDaysHasBeenSet(false) + m_noncurrentDaysHasBeenSet(false), + m_newerNoncurrentVersions(0), + m_newerNoncurrentVersionsHasBeenSet(false) { *this = xmlNode; } @@ -45,6 +49,12 @@ NoncurrentVersionExpiration& NoncurrentVersionExpiration::operator =(const XmlNo m_noncurrentDays = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(noncurrentDaysNode.GetText()).c_str()).c_str()); m_noncurrentDaysHasBeenSet = true; } + XmlNode newerNoncurrentVersionsNode = resultNode.FirstChild("NewerNoncurrentVersions"); + if(!newerNoncurrentVersionsNode.IsNull()) + { + m_newerNoncurrentVersions = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(newerNoncurrentVersionsNode.GetText()).c_str()).c_str()); + m_newerNoncurrentVersionsHasBeenSet = true; + } } return *this; @@ -61,6 +71,14 @@ void NoncurrentVersionExpiration::AddToNode(XmlNode& parentNode) const ss.str(""); } + if(m_newerNoncurrentVersionsHasBeenSet) + { + XmlNode newerNoncurrentVersionsNode = parentNode.CreateChildElement("NewerNoncurrentVersions"); + ss << m_newerNoncurrentVersions; + newerNoncurrentVersionsNode.SetText(ss.str()); + ss.str(""); + } + } } // namespace Model 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 index e7027d679b..71d5880890 100644 --- 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 @@ -24,7 +24,9 @@ NoncurrentVersionTransition::NoncurrentVersionTransition() : m_noncurrentDays(0), m_noncurrentDaysHasBeenSet(false), m_storageClass(TransitionStorageClass::NOT_SET), - m_storageClassHasBeenSet(false) + m_storageClassHasBeenSet(false), + m_newerNoncurrentVersions(0), + m_newerNoncurrentVersionsHasBeenSet(false) { } @@ -32,7 +34,9 @@ NoncurrentVersionTransition::NoncurrentVersionTransition(const XmlNode& xmlNode) m_noncurrentDays(0), m_noncurrentDaysHasBeenSet(false), m_storageClass(TransitionStorageClass::NOT_SET), - m_storageClassHasBeenSet(false) + m_storageClassHasBeenSet(false), + m_newerNoncurrentVersions(0), + m_newerNoncurrentVersionsHasBeenSet(false) { *this = xmlNode; } @@ -55,6 +59,12 @@ NoncurrentVersionTransition& NoncurrentVersionTransition::operator =(const XmlNo m_storageClass = TransitionStorageClassMapper::GetTransitionStorageClassForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(storageClassNode.GetText()).c_str()).c_str()); m_storageClassHasBeenSet = true; } + XmlNode newerNoncurrentVersionsNode = resultNode.FirstChild("NewerNoncurrentVersions"); + if(!newerNoncurrentVersionsNode.IsNull()) + { + m_newerNoncurrentVersions = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(newerNoncurrentVersionsNode.GetText()).c_str()).c_str()); + m_newerNoncurrentVersionsHasBeenSet = true; + } } return *this; @@ -77,6 +87,14 @@ void NoncurrentVersionTransition::AddToNode(XmlNode& parentNode) const storageClassNode.SetText(TransitionStorageClassMapper::GetNameForTransitionStorageClass(m_storageClass)); } + if(m_newerNoncurrentVersionsHasBeenSet) + { + XmlNode newerNoncurrentVersionsNode = parentNode.CreateChildElement("NewerNoncurrentVersions"); + ss << m_newerNoncurrentVersions; + newerNoncurrentVersionsNode.SetText(ss.str()); + ss.str(""); + } + } } // namespace Model 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 index bb62ecb84d..b3b79d4a5f 100644 --- 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 @@ -23,14 +23,16 @@ namespace Model NotificationConfiguration::NotificationConfiguration() : m_topicConfigurationsHasBeenSet(false), m_queueConfigurationsHasBeenSet(false), - m_lambdaFunctionConfigurationsHasBeenSet(false) + m_lambdaFunctionConfigurationsHasBeenSet(false), + m_eventBridgeConfigurationHasBeenSet(false) { } NotificationConfiguration::NotificationConfiguration(const XmlNode& xmlNode) : m_topicConfigurationsHasBeenSet(false), m_queueConfigurationsHasBeenSet(false), - m_lambdaFunctionConfigurationsHasBeenSet(false) + m_lambdaFunctionConfigurationsHasBeenSet(false), + m_eventBridgeConfigurationHasBeenSet(false) { *this = xmlNode; } @@ -77,6 +79,12 @@ NotificationConfiguration& NotificationConfiguration::operator =(const XmlNode& m_lambdaFunctionConfigurationsHasBeenSet = true; } + XmlNode eventBridgeConfigurationNode = resultNode.FirstChild("EventBridgeConfiguration"); + if(!eventBridgeConfigurationNode.IsNull()) + { + m_eventBridgeConfiguration = eventBridgeConfigurationNode; + m_eventBridgeConfigurationHasBeenSet = true; + } } return *this; @@ -112,6 +120,12 @@ void NotificationConfiguration::AddToNode(XmlNode& parentNode) const } } + if(m_eventBridgeConfigurationHasBeenSet) + { + XmlNode eventBridgeConfigurationNode = parentNode.CreateChildElement("EventBridgeConfiguration"); + m_eventBridgeConfiguration.AddToNode(eventBridgeConfigurationNode); + } + } } // namespace Model 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 index d7d963fc21..41f985e168 100644 --- 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 @@ -24,6 +24,7 @@ Object::Object() : m_keyHasBeenSet(false), m_lastModifiedHasBeenSet(false), m_eTagHasBeenSet(false), + m_checksumAlgorithmHasBeenSet(false), m_size(0), m_sizeHasBeenSet(false), m_storageClass(ObjectStorageClass::NOT_SET), @@ -36,6 +37,7 @@ Object::Object(const XmlNode& xmlNode) : m_keyHasBeenSet(false), m_lastModifiedHasBeenSet(false), m_eTagHasBeenSet(false), + m_checksumAlgorithmHasBeenSet(false), m_size(0), m_sizeHasBeenSet(false), m_storageClass(ObjectStorageClass::NOT_SET), @@ -60,7 +62,7 @@ Object& Object::operator =(const XmlNode& xmlNode) 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_lastModified = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(lastModifiedNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); m_lastModifiedHasBeenSet = true; } XmlNode eTagNode = resultNode.FirstChild("ETag"); @@ -69,6 +71,18 @@ Object& Object::operator =(const XmlNode& xmlNode) m_eTag = Aws::Utils::Xml::DecodeEscapedXmlText(eTagNode.GetText()); m_eTagHasBeenSet = true; } + XmlNode checksumAlgorithmNode = resultNode.FirstChild("ChecksumAlgorithm"); + if(!checksumAlgorithmNode.IsNull()) + { + XmlNode checksumAlgorithmMember = checksumAlgorithmNode; + while(!checksumAlgorithmMember.IsNull()) + { + m_checksumAlgorithm.push_back(ChecksumAlgorithmMapper::GetChecksumAlgorithmForName(StringUtils::Trim(checksumAlgorithmMember.GetText().c_str()))); + checksumAlgorithmMember = checksumAlgorithmMember.NextNode("ChecksumAlgorithm"); + } + + m_checksumAlgorithmHasBeenSet = true; + } XmlNode sizeNode = resultNode.FirstChild("Size"); if(!sizeNode.IsNull()) { @@ -104,7 +118,7 @@ void Object::AddToNode(XmlNode& parentNode) const if(m_lastModifiedHasBeenSet) { XmlNode lastModifiedNode = parentNode.CreateChildElement("LastModified"); - lastModifiedNode.SetText(m_lastModified.ToGmtString(DateFormat::ISO_8601)); + lastModifiedNode.SetText(m_lastModified.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); } if(m_eTagHasBeenSet) @@ -113,6 +127,16 @@ void Object::AddToNode(XmlNode& parentNode) const eTagNode.SetText(m_eTag); } + if(m_checksumAlgorithmHasBeenSet) + { + XmlNode checksumAlgorithmParentNode = parentNode.CreateChildElement("ChecksumAlgorithm"); + for(const auto& item : m_checksumAlgorithm) + { + XmlNode checksumAlgorithmNode = checksumAlgorithmParentNode.CreateChildElement("ChecksumAlgorithm"); + checksumAlgorithmNode.SetText(ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(item)); + } + } + if(m_sizeHasBeenSet) { XmlNode sizeNode = parentNode.CreateChildElement("Size"); diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectAttributes.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectAttributes.cpp new file mode 100644 index 0000000000..c4159dcde2 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectAttributes.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/ObjectAttributes.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 ObjectAttributesMapper + { + + static const int ETag_HASH = HashingUtils::HashString("ETag"); + static const int Checksum_HASH = HashingUtils::HashString("Checksum"); + static const int ObjectParts_HASH = HashingUtils::HashString("ObjectParts"); + static const int StorageClass_HASH = HashingUtils::HashString("StorageClass"); + static const int ObjectSize_HASH = HashingUtils::HashString("ObjectSize"); + + + ObjectAttributes GetObjectAttributesForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ETag_HASH) + { + return ObjectAttributes::ETag; + } + else if (hashCode == Checksum_HASH) + { + return ObjectAttributes::Checksum; + } + else if (hashCode == ObjectParts_HASH) + { + return ObjectAttributes::ObjectParts; + } + else if (hashCode == StorageClass_HASH) + { + return ObjectAttributes::StorageClass; + } + else if (hashCode == ObjectSize_HASH) + { + return ObjectAttributes::ObjectSize; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<ObjectAttributes>(hashCode); + } + + return ObjectAttributes::NOT_SET; + } + + Aws::String GetNameForObjectAttributes(ObjectAttributes enumValue) + { + switch(enumValue) + { + case ObjectAttributes::ETag: + return "ETag"; + case ObjectAttributes::Checksum: + return "Checksum"; + case ObjectAttributes::ObjectParts: + return "ObjectParts"; + case ObjectAttributes::StorageClass: + return "StorageClass"; + case ObjectAttributes::ObjectSize: + return "ObjectSize"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace ObjectAttributesMapper + } // 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 index 3ba5d5590e..f9b3d70c7f 100644 --- 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 @@ -50,7 +50,7 @@ ObjectLockRetention& ObjectLockRetention::operator =(const XmlNode& xmlNode) 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_retainUntilDate = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(retainUntilDateNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); m_retainUntilDateHasBeenSet = true; } } @@ -70,7 +70,7 @@ void ObjectLockRetention::AddToNode(XmlNode& parentNode) const if(m_retainUntilDateHasBeenSet) { XmlNode retainUntilDateNode = parentNode.CreateChildElement("RetainUntilDate"); - retainUntilDateNode.SetText(m_retainUntilDate.ToGmtString(DateFormat::ISO_8601)); + retainUntilDateNode.SetText(m_retainUntilDate.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); } } 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 index 4e2a106c8e..7fba54e6c8 100644 --- 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 @@ -22,6 +22,7 @@ namespace Aws static const int BucketOwnerPreferred_HASH = HashingUtils::HashString("BucketOwnerPreferred"); static const int ObjectWriter_HASH = HashingUtils::HashString("ObjectWriter"); + static const int BucketOwnerEnforced_HASH = HashingUtils::HashString("BucketOwnerEnforced"); ObjectOwnership GetObjectOwnershipForName(const Aws::String& name) @@ -35,6 +36,10 @@ namespace Aws { return ObjectOwnership::ObjectWriter; } + else if (hashCode == BucketOwnerEnforced_HASH) + { + return ObjectOwnership::BucketOwnerEnforced; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -53,6 +58,8 @@ namespace Aws return "BucketOwnerPreferred"; case ObjectOwnership::ObjectWriter: return "ObjectWriter"; + case ObjectOwnership::BucketOwnerEnforced: + return "BucketOwnerEnforced"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectPart.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectPart.cpp new file mode 100644 index 0000000000..fdbd9eebc0 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectPart.cpp @@ -0,0 +1,142 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ObjectPart.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 +{ + +ObjectPart::ObjectPart() : + m_partNumber(0), + m_partNumberHasBeenSet(false), + m_size(0), + m_sizeHasBeenSet(false), + m_checksumCRC32HasBeenSet(false), + m_checksumCRC32CHasBeenSet(false), + m_checksumSHA1HasBeenSet(false), + m_checksumSHA256HasBeenSet(false) +{ +} + +ObjectPart::ObjectPart(const XmlNode& xmlNode) : + m_partNumber(0), + m_partNumberHasBeenSet(false), + m_size(0), + m_sizeHasBeenSet(false), + m_checksumCRC32HasBeenSet(false), + m_checksumCRC32CHasBeenSet(false), + m_checksumSHA1HasBeenSet(false), + m_checksumSHA256HasBeenSet(false) +{ + *this = xmlNode; +} + +ObjectPart& ObjectPart::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 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 checksumCRC32Node = resultNode.FirstChild("ChecksumCRC32"); + if(!checksumCRC32Node.IsNull()) + { + m_checksumCRC32 = Aws::Utils::Xml::DecodeEscapedXmlText(checksumCRC32Node.GetText()); + m_checksumCRC32HasBeenSet = true; + } + XmlNode checksumCRC32CNode = resultNode.FirstChild("ChecksumCRC32C"); + if(!checksumCRC32CNode.IsNull()) + { + m_checksumCRC32C = Aws::Utils::Xml::DecodeEscapedXmlText(checksumCRC32CNode.GetText()); + m_checksumCRC32CHasBeenSet = true; + } + XmlNode checksumSHA1Node = resultNode.FirstChild("ChecksumSHA1"); + if(!checksumSHA1Node.IsNull()) + { + m_checksumSHA1 = Aws::Utils::Xml::DecodeEscapedXmlText(checksumSHA1Node.GetText()); + m_checksumSHA1HasBeenSet = true; + } + XmlNode checksumSHA256Node = resultNode.FirstChild("ChecksumSHA256"); + if(!checksumSHA256Node.IsNull()) + { + m_checksumSHA256 = Aws::Utils::Xml::DecodeEscapedXmlText(checksumSHA256Node.GetText()); + m_checksumSHA256HasBeenSet = true; + } + } + + return *this; +} + +void ObjectPart::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_sizeHasBeenSet) + { + XmlNode sizeNode = parentNode.CreateChildElement("Size"); + ss << m_size; + sizeNode.SetText(ss.str()); + ss.str(""); + } + + if(m_checksumCRC32HasBeenSet) + { + XmlNode checksumCRC32Node = parentNode.CreateChildElement("ChecksumCRC32"); + checksumCRC32Node.SetText(m_checksumCRC32); + } + + if(m_checksumCRC32CHasBeenSet) + { + XmlNode checksumCRC32CNode = parentNode.CreateChildElement("ChecksumCRC32C"); + checksumCRC32CNode.SetText(m_checksumCRC32C); + } + + if(m_checksumSHA1HasBeenSet) + { + XmlNode checksumSHA1Node = parentNode.CreateChildElement("ChecksumSHA1"); + checksumSHA1Node.SetText(m_checksumSHA1); + } + + if(m_checksumSHA256HasBeenSet) + { + XmlNode checksumSHA256Node = parentNode.CreateChildElement("ChecksumSHA256"); + checksumSHA256Node.SetText(m_checksumSHA256); + } + +} + +} // 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 index 572041c798..fd0e06fbc4 100644 --- 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 @@ -28,6 +28,7 @@ namespace Aws 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"); + static const int GLACIER_IR_HASH = HashingUtils::HashString("GLACIER_IR"); ObjectStorageClass GetObjectStorageClassForName(const Aws::String& name) @@ -65,6 +66,10 @@ namespace Aws { return ObjectStorageClass::OUTPOSTS; } + else if (hashCode == GLACIER_IR_HASH) + { + return ObjectStorageClass::GLACIER_IR; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -95,6 +100,8 @@ namespace Aws return "DEEP_ARCHIVE"; case ObjectStorageClass::OUTPOSTS: return "OUTPOSTS"; + case ObjectStorageClass::GLACIER_IR: + return "GLACIER_IR"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) 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 index c7b720f252..11a8542a02 100644 --- 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 @@ -22,6 +22,7 @@ namespace Model ObjectVersion::ObjectVersion() : m_eTagHasBeenSet(false), + m_checksumAlgorithmHasBeenSet(false), m_size(0), m_sizeHasBeenSet(false), m_storageClass(ObjectVersionStorageClass::NOT_SET), @@ -37,6 +38,7 @@ ObjectVersion::ObjectVersion() : ObjectVersion::ObjectVersion(const XmlNode& xmlNode) : m_eTagHasBeenSet(false), + m_checksumAlgorithmHasBeenSet(false), m_size(0), m_sizeHasBeenSet(false), m_storageClass(ObjectVersionStorageClass::NOT_SET), @@ -63,6 +65,18 @@ ObjectVersion& ObjectVersion::operator =(const XmlNode& xmlNode) m_eTag = Aws::Utils::Xml::DecodeEscapedXmlText(eTagNode.GetText()); m_eTagHasBeenSet = true; } + XmlNode checksumAlgorithmNode = resultNode.FirstChild("ChecksumAlgorithm"); + if(!checksumAlgorithmNode.IsNull()) + { + XmlNode checksumAlgorithmMember = checksumAlgorithmNode; + while(!checksumAlgorithmMember.IsNull()) + { + m_checksumAlgorithm.push_back(ChecksumAlgorithmMapper::GetChecksumAlgorithmForName(StringUtils::Trim(checksumAlgorithmMember.GetText().c_str()))); + checksumAlgorithmMember = checksumAlgorithmMember.NextNode("ChecksumAlgorithm"); + } + + m_checksumAlgorithmHasBeenSet = true; + } XmlNode sizeNode = resultNode.FirstChild("Size"); if(!sizeNode.IsNull()) { @@ -96,7 +110,7 @@ ObjectVersion& ObjectVersion::operator =(const XmlNode& xmlNode) 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_lastModified = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(lastModifiedNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); m_lastModifiedHasBeenSet = true; } XmlNode ownerNode = resultNode.FirstChild("Owner"); @@ -119,6 +133,16 @@ void ObjectVersion::AddToNode(XmlNode& parentNode) const eTagNode.SetText(m_eTag); } + if(m_checksumAlgorithmHasBeenSet) + { + XmlNode checksumAlgorithmParentNode = parentNode.CreateChildElement("ChecksumAlgorithm"); + for(const auto& item : m_checksumAlgorithm) + { + XmlNode checksumAlgorithmNode = checksumAlgorithmParentNode.CreateChildElement("ChecksumAlgorithm"); + checksumAlgorithmNode.SetText(ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(item)); + } + } + if(m_sizeHasBeenSet) { XmlNode sizeNode = parentNode.CreateChildElement("Size"); @@ -156,7 +180,7 @@ void ObjectVersion::AddToNode(XmlNode& parentNode) const if(m_lastModifiedHasBeenSet) { XmlNode lastModifiedNode = parentNode.CreateChildElement("LastModified"); - lastModifiedNode.SetText(m_lastModified.ToGmtString(DateFormat::ISO_8601)); + lastModifiedNode.SetText(m_lastModified.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); } if(m_ownerHasBeenSet) 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 index a243f72d10..d0cd0f01cf 100644 --- 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 @@ -26,7 +26,11 @@ Part::Part() : m_lastModifiedHasBeenSet(false), m_eTagHasBeenSet(false), m_size(0), - m_sizeHasBeenSet(false) + m_sizeHasBeenSet(false), + m_checksumCRC32HasBeenSet(false), + m_checksumCRC32CHasBeenSet(false), + m_checksumSHA1HasBeenSet(false), + m_checksumSHA256HasBeenSet(false) { } @@ -36,7 +40,11 @@ Part::Part(const XmlNode& xmlNode) : m_lastModifiedHasBeenSet(false), m_eTagHasBeenSet(false), m_size(0), - m_sizeHasBeenSet(false) + m_sizeHasBeenSet(false), + m_checksumCRC32HasBeenSet(false), + m_checksumCRC32CHasBeenSet(false), + m_checksumSHA1HasBeenSet(false), + m_checksumSHA256HasBeenSet(false) { *this = xmlNode; } @@ -56,7 +64,7 @@ Part& Part::operator =(const XmlNode& xmlNode) 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_lastModified = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(lastModifiedNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); m_lastModifiedHasBeenSet = true; } XmlNode eTagNode = resultNode.FirstChild("ETag"); @@ -71,6 +79,30 @@ Part& Part::operator =(const XmlNode& xmlNode) m_size = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(sizeNode.GetText()).c_str()).c_str()); m_sizeHasBeenSet = true; } + XmlNode checksumCRC32Node = resultNode.FirstChild("ChecksumCRC32"); + if(!checksumCRC32Node.IsNull()) + { + m_checksumCRC32 = Aws::Utils::Xml::DecodeEscapedXmlText(checksumCRC32Node.GetText()); + m_checksumCRC32HasBeenSet = true; + } + XmlNode checksumCRC32CNode = resultNode.FirstChild("ChecksumCRC32C"); + if(!checksumCRC32CNode.IsNull()) + { + m_checksumCRC32C = Aws::Utils::Xml::DecodeEscapedXmlText(checksumCRC32CNode.GetText()); + m_checksumCRC32CHasBeenSet = true; + } + XmlNode checksumSHA1Node = resultNode.FirstChild("ChecksumSHA1"); + if(!checksumSHA1Node.IsNull()) + { + m_checksumSHA1 = Aws::Utils::Xml::DecodeEscapedXmlText(checksumSHA1Node.GetText()); + m_checksumSHA1HasBeenSet = true; + } + XmlNode checksumSHA256Node = resultNode.FirstChild("ChecksumSHA256"); + if(!checksumSHA256Node.IsNull()) + { + m_checksumSHA256 = Aws::Utils::Xml::DecodeEscapedXmlText(checksumSHA256Node.GetText()); + m_checksumSHA256HasBeenSet = true; + } } return *this; @@ -90,7 +122,7 @@ void Part::AddToNode(XmlNode& parentNode) const if(m_lastModifiedHasBeenSet) { XmlNode lastModifiedNode = parentNode.CreateChildElement("LastModified"); - lastModifiedNode.SetText(m_lastModified.ToGmtString(DateFormat::ISO_8601)); + lastModifiedNode.SetText(m_lastModified.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); } if(m_eTagHasBeenSet) @@ -107,6 +139,30 @@ void Part::AddToNode(XmlNode& parentNode) const ss.str(""); } + if(m_checksumCRC32HasBeenSet) + { + XmlNode checksumCRC32Node = parentNode.CreateChildElement("ChecksumCRC32"); + checksumCRC32Node.SetText(m_checksumCRC32); + } + + if(m_checksumCRC32CHasBeenSet) + { + XmlNode checksumCRC32CNode = parentNode.CreateChildElement("ChecksumCRC32C"); + checksumCRC32CNode.SetText(m_checksumCRC32C); + } + + if(m_checksumSHA1HasBeenSet) + { + XmlNode checksumSHA1Node = parentNode.CreateChildElement("ChecksumSHA1"); + checksumSHA1Node.SetText(m_checksumSHA1); + } + + if(m_checksumSHA256HasBeenSet) + { + XmlNode checksumSHA256Node = parentNode.CreateChildElement("ChecksumSHA256"); + checksumSHA256Node.SetText(m_checksumSHA256); + } + } } // namespace Model 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 index 15da0c32a1..c58ed72a04 100644 --- 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 @@ -20,6 +20,8 @@ PutBucketAccelerateConfigurationRequest::PutBucketAccelerateConfigurationRequest m_bucketHasBeenSet(false), m_accelerateConfigurationHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false), m_customizedAccessLogTagHasBeenSet(false) { } @@ -73,5 +75,33 @@ Aws::Http::HeaderValueCollection PutBucketAccelerateConfigurationRequest::GetReq ss.str(""); } + if(m_checksumAlgorithmHasBeenSet) + { + headers.emplace("x-amz-sdk-checksum-algorithm", ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm)); + } + return headers; } + +PutBucketAccelerateConfigurationRequest::EndpointParameters PutBucketAccelerateConfigurationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} + +Aws::String PutBucketAccelerateConfigurationRequest::GetChecksumAlgorithmName() const +{ + if (m_checksumAlgorithm == ChecksumAlgorithm::NOT_SET) + { + return "md5"; + } + else + { + return ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm); + } +} + 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 index 5a3efcac19..a7273a85a4 100644 --- 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 @@ -22,6 +22,8 @@ PutBucketAclRequest::PutBucketAclRequest() : m_accessControlPolicyHasBeenSet(false), m_bucketHasBeenSet(false), m_contentMD5HasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false), m_grantFullControlHasBeenSet(false), m_grantReadHasBeenSet(false), m_grantReadACPHasBeenSet(false), @@ -86,6 +88,11 @@ Aws::Http::HeaderValueCollection PutBucketAclRequest::GetRequestSpecificHeaders( ss.str(""); } + if(m_checksumAlgorithmHasBeenSet) + { + headers.emplace("x-amz-sdk-checksum-algorithm", ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm)); + } + if(m_grantFullControlHasBeenSet) { ss << m_grantFullControl; @@ -130,3 +137,26 @@ Aws::Http::HeaderValueCollection PutBucketAclRequest::GetRequestSpecificHeaders( return headers; } + +PutBucketAclRequest::EndpointParameters PutBucketAclRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} + +Aws::String PutBucketAclRequest::GetChecksumAlgorithmName() const +{ + if (m_checksumAlgorithm == ChecksumAlgorithm::NOT_SET) + { + return "md5"; + } + else + { + return ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm); + } +} + 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 index 73f9111f63..29d6e03e59 100644 --- 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 @@ -83,3 +83,13 @@ Aws::Http::HeaderValueCollection PutBucketAnalyticsConfigurationRequest::GetRequ return headers; } + +PutBucketAnalyticsConfigurationRequest::EndpointParameters PutBucketAnalyticsConfigurationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 6f90824e2c..4e8ee9730f 100644 --- 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 @@ -20,6 +20,8 @@ PutBucketCorsRequest::PutBucketCorsRequest() : m_bucketHasBeenSet(false), m_cORSConfigurationHasBeenSet(false), m_contentMD5HasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), m_customizedAccessLogTagHasBeenSet(false) { @@ -74,6 +76,11 @@ Aws::Http::HeaderValueCollection PutBucketCorsRequest::GetRequestSpecificHeaders ss.str(""); } + if(m_checksumAlgorithmHasBeenSet) + { + headers.emplace("x-amz-sdk-checksum-algorithm", ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm)); + } + if(m_expectedBucketOwnerHasBeenSet) { ss << m_expectedBucketOwner; @@ -83,3 +90,26 @@ Aws::Http::HeaderValueCollection PutBucketCorsRequest::GetRequestSpecificHeaders return headers; } + +PutBucketCorsRequest::EndpointParameters PutBucketCorsRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} + +Aws::String PutBucketCorsRequest::GetChecksumAlgorithmName() const +{ + if (m_checksumAlgorithm == ChecksumAlgorithm::NOT_SET) + { + return "md5"; + } + else + { + return ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm); + } +} + 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 index 26b60f385e..7a9e14da68 100644 --- 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 @@ -19,6 +19,8 @@ using namespace Aws::Http; PutBucketEncryptionRequest::PutBucketEncryptionRequest() : m_bucketHasBeenSet(false), m_contentMD5HasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false), m_serverSideEncryptionConfigurationHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), m_customizedAccessLogTagHasBeenSet(false) @@ -74,6 +76,11 @@ Aws::Http::HeaderValueCollection PutBucketEncryptionRequest::GetRequestSpecificH ss.str(""); } + if(m_checksumAlgorithmHasBeenSet) + { + headers.emplace("x-amz-sdk-checksum-algorithm", ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm)); + } + if(m_expectedBucketOwnerHasBeenSet) { ss << m_expectedBucketOwner; @@ -83,3 +90,26 @@ Aws::Http::HeaderValueCollection PutBucketEncryptionRequest::GetRequestSpecificH return headers; } + +PutBucketEncryptionRequest::EndpointParameters PutBucketEncryptionRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} + +Aws::String PutBucketEncryptionRequest::GetChecksumAlgorithmName() const +{ + if (m_checksumAlgorithm == ChecksumAlgorithm::NOT_SET) + { + return "md5"; + } + else + { + return ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm); + } +} + 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 index 24bc947b71..17c63d7456 100644 --- 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 @@ -69,3 +69,13 @@ void PutBucketIntelligentTieringConfigurationRequest::AddQueryStringParameters(U } } + +PutBucketIntelligentTieringConfigurationRequest::EndpointParameters PutBucketIntelligentTieringConfigurationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 31f0365528..5ec6f7d24f 100644 --- 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 @@ -83,3 +83,13 @@ Aws::Http::HeaderValueCollection PutBucketInventoryConfigurationRequest::GetRequ return headers; } + +PutBucketInventoryConfigurationRequest::EndpointParameters PutBucketInventoryConfigurationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 2d8b5471f2..a197ebe9fb 100644 --- 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 @@ -18,6 +18,8 @@ using namespace Aws::Http; PutBucketLifecycleConfigurationRequest::PutBucketLifecycleConfigurationRequest() : m_bucketHasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false), m_lifecycleConfigurationHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), m_customizedAccessLogTagHasBeenSet(false) @@ -66,6 +68,11 @@ Aws::Http::HeaderValueCollection PutBucketLifecycleConfigurationRequest::GetRequ { Aws::Http::HeaderValueCollection headers; Aws::StringStream ss; + if(m_checksumAlgorithmHasBeenSet) + { + headers.emplace("x-amz-sdk-checksum-algorithm", ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm)); + } + if(m_expectedBucketOwnerHasBeenSet) { ss << m_expectedBucketOwner; @@ -75,3 +82,26 @@ Aws::Http::HeaderValueCollection PutBucketLifecycleConfigurationRequest::GetRequ return headers; } + +PutBucketLifecycleConfigurationRequest::EndpointParameters PutBucketLifecycleConfigurationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} + +Aws::String PutBucketLifecycleConfigurationRequest::GetChecksumAlgorithmName() const +{ + if (m_checksumAlgorithm == ChecksumAlgorithm::NOT_SET) + { + return "md5"; + } + else + { + return ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm); + } +} + 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 index 1057a8f122..34ca2d83ca 100644 --- 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 @@ -20,6 +20,8 @@ PutBucketLoggingRequest::PutBucketLoggingRequest() : m_bucketHasBeenSet(false), m_bucketLoggingStatusHasBeenSet(false), m_contentMD5HasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), m_customizedAccessLogTagHasBeenSet(false) { @@ -74,6 +76,11 @@ Aws::Http::HeaderValueCollection PutBucketLoggingRequest::GetRequestSpecificHead ss.str(""); } + if(m_checksumAlgorithmHasBeenSet) + { + headers.emplace("x-amz-sdk-checksum-algorithm", ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm)); + } + if(m_expectedBucketOwnerHasBeenSet) { ss << m_expectedBucketOwner; @@ -83,3 +90,26 @@ Aws::Http::HeaderValueCollection PutBucketLoggingRequest::GetRequestSpecificHead return headers; } + +PutBucketLoggingRequest::EndpointParameters PutBucketLoggingRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} + +Aws::String PutBucketLoggingRequest::GetChecksumAlgorithmName() const +{ + if (m_checksumAlgorithm == ChecksumAlgorithm::NOT_SET) + { + return "md5"; + } + else + { + return ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm); + } +} + 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 index 48e5714b3a..0f8ac13170 100644 --- 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 @@ -83,3 +83,13 @@ Aws::Http::HeaderValueCollection PutBucketMetricsConfigurationRequest::GetReques return headers; } + +PutBucketMetricsConfigurationRequest::EndpointParameters PutBucketMetricsConfigurationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 52f921af4f..0a2e9ba847 100644 --- 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 @@ -20,6 +20,8 @@ PutBucketNotificationConfigurationRequest::PutBucketNotificationConfigurationReq m_bucketHasBeenSet(false), m_notificationConfigurationHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), + m_skipDestinationValidation(false), + m_skipDestinationValidationHasBeenSet(false), m_customizedAccessLogTagHasBeenSet(false) { } @@ -69,5 +71,22 @@ Aws::Http::HeaderValueCollection PutBucketNotificationConfigurationRequest::GetR ss.str(""); } + if(m_skipDestinationValidationHasBeenSet) + { + ss << std::boolalpha << m_skipDestinationValidation; + headers.emplace("x-amz-skip-destination-validation", ss.str()); + ss.str(""); + } + return headers; } + +PutBucketNotificationConfigurationRequest::EndpointParameters PutBucketNotificationConfigurationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 5a6119e233..46dde75d47 100644 --- 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 @@ -83,3 +83,13 @@ Aws::Http::HeaderValueCollection PutBucketOwnershipControlsRequest::GetRequestSp return headers; } + +PutBucketOwnershipControlsRequest::EndpointParameters PutBucketOwnershipControlsRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index d7fc444c2d..92f16a6381 100644 --- 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 @@ -19,6 +19,8 @@ using namespace Aws; PutBucketPolicyRequest::PutBucketPolicyRequest() : m_bucketHasBeenSet(false), m_contentMD5HasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false), m_confirmRemoveSelfBucketAccess(false), m_confirmRemoveSelfBucketAccessHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), @@ -60,6 +62,11 @@ Aws::Http::HeaderValueCollection PutBucketPolicyRequest::GetRequestSpecificHeade ss.str(""); } + if(m_checksumAlgorithmHasBeenSet) + { + headers.emplace("x-amz-sdk-checksum-algorithm", ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm)); + } + if(m_confirmRemoveSelfBucketAccessHasBeenSet) { ss << std::boolalpha << m_confirmRemoveSelfBucketAccess; @@ -77,3 +84,26 @@ Aws::Http::HeaderValueCollection PutBucketPolicyRequest::GetRequestSpecificHeade return headers; } + +PutBucketPolicyRequest::EndpointParameters PutBucketPolicyRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} + +Aws::String PutBucketPolicyRequest::GetChecksumAlgorithmName() const +{ + if (m_checksumAlgorithm == ChecksumAlgorithm::NOT_SET) + { + return "md5"; + } + else + { + return ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm); + } +} + 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 index 44244a8560..50b1abbebd 100644 --- 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 @@ -19,6 +19,8 @@ using namespace Aws::Http; PutBucketReplicationRequest::PutBucketReplicationRequest() : m_bucketHasBeenSet(false), m_contentMD5HasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false), m_replicationConfigurationHasBeenSet(false), m_tokenHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), @@ -75,6 +77,11 @@ Aws::Http::HeaderValueCollection PutBucketReplicationRequest::GetRequestSpecific ss.str(""); } + if(m_checksumAlgorithmHasBeenSet) + { + headers.emplace("x-amz-sdk-checksum-algorithm", ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm)); + } + if(m_tokenHasBeenSet) { ss << m_token; @@ -91,3 +98,26 @@ Aws::Http::HeaderValueCollection PutBucketReplicationRequest::GetRequestSpecific return headers; } + +PutBucketReplicationRequest::EndpointParameters PutBucketReplicationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} + +Aws::String PutBucketReplicationRequest::GetChecksumAlgorithmName() const +{ + if (m_checksumAlgorithm == ChecksumAlgorithm::NOT_SET) + { + return "md5"; + } + else + { + return ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm); + } +} + 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 index f6be9cc855..643f26b8f1 100644 --- 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 @@ -19,6 +19,8 @@ using namespace Aws::Http; PutBucketRequestPaymentRequest::PutBucketRequestPaymentRequest() : m_bucketHasBeenSet(false), m_contentMD5HasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false), m_requestPaymentConfigurationHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), m_customizedAccessLogTagHasBeenSet(false) @@ -74,6 +76,11 @@ Aws::Http::HeaderValueCollection PutBucketRequestPaymentRequest::GetRequestSpeci ss.str(""); } + if(m_checksumAlgorithmHasBeenSet) + { + headers.emplace("x-amz-sdk-checksum-algorithm", ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm)); + } + if(m_expectedBucketOwnerHasBeenSet) { ss << m_expectedBucketOwner; @@ -83,3 +90,26 @@ Aws::Http::HeaderValueCollection PutBucketRequestPaymentRequest::GetRequestSpeci return headers; } + +PutBucketRequestPaymentRequest::EndpointParameters PutBucketRequestPaymentRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} + +Aws::String PutBucketRequestPaymentRequest::GetChecksumAlgorithmName() const +{ + if (m_checksumAlgorithm == ChecksumAlgorithm::NOT_SET) + { + return "md5"; + } + else + { + return ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm); + } +} + 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 index 748ede6e75..fa0861e2cd 100644 --- 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 @@ -19,6 +19,8 @@ using namespace Aws::Http; PutBucketTaggingRequest::PutBucketTaggingRequest() : m_bucketHasBeenSet(false), m_contentMD5HasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false), m_taggingHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), m_customizedAccessLogTagHasBeenSet(false) @@ -74,6 +76,11 @@ Aws::Http::HeaderValueCollection PutBucketTaggingRequest::GetRequestSpecificHead ss.str(""); } + if(m_checksumAlgorithmHasBeenSet) + { + headers.emplace("x-amz-sdk-checksum-algorithm", ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm)); + } + if(m_expectedBucketOwnerHasBeenSet) { ss << m_expectedBucketOwner; @@ -83,3 +90,26 @@ Aws::Http::HeaderValueCollection PutBucketTaggingRequest::GetRequestSpecificHead return headers; } + +PutBucketTaggingRequest::EndpointParameters PutBucketTaggingRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} + +Aws::String PutBucketTaggingRequest::GetChecksumAlgorithmName() const +{ + if (m_checksumAlgorithm == ChecksumAlgorithm::NOT_SET) + { + return "md5"; + } + else + { + return ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm); + } +} + 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 index 5e72efb1e1..6dbcd39433 100644 --- 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 @@ -19,6 +19,8 @@ using namespace Aws::Http; PutBucketVersioningRequest::PutBucketVersioningRequest() : m_bucketHasBeenSet(false), m_contentMD5HasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false), m_mFAHasBeenSet(false), m_versioningConfigurationHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), @@ -75,6 +77,11 @@ Aws::Http::HeaderValueCollection PutBucketVersioningRequest::GetRequestSpecificH ss.str(""); } + if(m_checksumAlgorithmHasBeenSet) + { + headers.emplace("x-amz-sdk-checksum-algorithm", ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm)); + } + if(m_mFAHasBeenSet) { ss << m_mFA; @@ -91,3 +98,26 @@ Aws::Http::HeaderValueCollection PutBucketVersioningRequest::GetRequestSpecificH return headers; } + +PutBucketVersioningRequest::EndpointParameters PutBucketVersioningRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} + +Aws::String PutBucketVersioningRequest::GetChecksumAlgorithmName() const +{ + if (m_checksumAlgorithm == ChecksumAlgorithm::NOT_SET) + { + return "md5"; + } + else + { + return ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm); + } +} + 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 index d20032e466..adea6161f5 100644 --- 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 @@ -19,6 +19,8 @@ using namespace Aws::Http; PutBucketWebsiteRequest::PutBucketWebsiteRequest() : m_bucketHasBeenSet(false), m_contentMD5HasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false), m_websiteConfigurationHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), m_customizedAccessLogTagHasBeenSet(false) @@ -74,6 +76,11 @@ Aws::Http::HeaderValueCollection PutBucketWebsiteRequest::GetRequestSpecificHead ss.str(""); } + if(m_checksumAlgorithmHasBeenSet) + { + headers.emplace("x-amz-sdk-checksum-algorithm", ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm)); + } + if(m_expectedBucketOwnerHasBeenSet) { ss << m_expectedBucketOwner; @@ -83,3 +90,26 @@ Aws::Http::HeaderValueCollection PutBucketWebsiteRequest::GetRequestSpecificHead return headers; } + +PutBucketWebsiteRequest::EndpointParameters PutBucketWebsiteRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} + +Aws::String PutBucketWebsiteRequest::GetChecksumAlgorithmName() const +{ + if (m_checksumAlgorithm == ChecksumAlgorithm::NOT_SET) + { + return "md5"; + } + else + { + return ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm); + } +} + 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 index 5dbd1a3fa6..fb859d91e4 100644 --- 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 @@ -22,6 +22,8 @@ PutObjectAclRequest::PutObjectAclRequest() : m_accessControlPolicyHasBeenSet(false), m_bucketHasBeenSet(false), m_contentMD5HasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false), m_grantFullControlHasBeenSet(false), m_grantReadHasBeenSet(false), m_grantReadACPHasBeenSet(false), @@ -97,6 +99,11 @@ Aws::Http::HeaderValueCollection PutObjectAclRequest::GetRequestSpecificHeaders( ss.str(""); } + if(m_checksumAlgorithmHasBeenSet) + { + headers.emplace("x-amz-sdk-checksum-algorithm", ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm)); + } + if(m_grantFullControlHasBeenSet) { ss << m_grantFullControl; @@ -146,3 +153,26 @@ Aws::Http::HeaderValueCollection PutObjectAclRequest::GetRequestSpecificHeaders( return headers; } + +PutObjectAclRequest::EndpointParameters PutObjectAclRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} + +Aws::String PutObjectAclRequest::GetChecksumAlgorithmName() const +{ + if (m_checksumAlgorithm == ChecksumAlgorithm::NOT_SET) + { + return "md5"; + } + else + { + return ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm); + } +} + 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 index 8c07b952d7..4ecc41790e 100644 --- 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 @@ -24,6 +24,8 @@ PutObjectLegalHoldRequest::PutObjectLegalHoldRequest() : m_requestPayerHasBeenSet(false), m_versionIdHasBeenSet(false), m_contentMD5HasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), m_customizedAccessLogTagHasBeenSet(false) { @@ -90,6 +92,11 @@ Aws::Http::HeaderValueCollection PutObjectLegalHoldRequest::GetRequestSpecificHe ss.str(""); } + if(m_checksumAlgorithmHasBeenSet) + { + headers.emplace("x-amz-sdk-checksum-algorithm", ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm)); + } + if(m_expectedBucketOwnerHasBeenSet) { ss << m_expectedBucketOwner; @@ -99,3 +106,26 @@ Aws::Http::HeaderValueCollection PutObjectLegalHoldRequest::GetRequestSpecificHe return headers; } + +PutObjectLegalHoldRequest::EndpointParameters PutObjectLegalHoldRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} + +Aws::String PutObjectLegalHoldRequest::GetChecksumAlgorithmName() const +{ + if (m_checksumAlgorithm == ChecksumAlgorithm::NOT_SET) + { + return "md5"; + } + else + { + return ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm); + } +} + 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 index 347b9e668d..b0e89445dc 100644 --- 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 @@ -23,6 +23,8 @@ PutObjectLockConfigurationRequest::PutObjectLockConfigurationRequest() : m_requestPayerHasBeenSet(false), m_tokenHasBeenSet(false), m_contentMD5HasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), m_customizedAccessLogTagHasBeenSet(false) { @@ -89,6 +91,11 @@ Aws::Http::HeaderValueCollection PutObjectLockConfigurationRequest::GetRequestSp ss.str(""); } + if(m_checksumAlgorithmHasBeenSet) + { + headers.emplace("x-amz-sdk-checksum-algorithm", ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm)); + } + if(m_expectedBucketOwnerHasBeenSet) { ss << m_expectedBucketOwner; @@ -98,3 +105,26 @@ Aws::Http::HeaderValueCollection PutObjectLockConfigurationRequest::GetRequestSp return headers; } + +PutObjectLockConfigurationRequest::EndpointParameters PutObjectLockConfigurationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} + +Aws::String PutObjectLockConfigurationRequest::GetChecksumAlgorithmName() const +{ + if (m_checksumAlgorithm == ChecksumAlgorithm::NOT_SET) + { + return "md5"; + } + else + { + return ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm); + } +} + 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 index 18cdc3866f..1c2aa6e34f 100644 --- 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 @@ -28,6 +28,12 @@ PutObjectRequest::PutObjectRequest() : m_contentLength(0), m_contentLengthHasBeenSet(false), m_contentMD5HasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false), + m_checksumCRC32HasBeenSet(false), + m_checksumCRC32CHasBeenSet(false), + m_checksumSHA1HasBeenSet(false), + m_checksumSHA256HasBeenSet(false), m_expiresHasBeenSet(false), m_grantFullControlHasBeenSet(false), m_grantReadHasBeenSet(false), @@ -134,9 +140,42 @@ Aws::Http::HeaderValueCollection PutObjectRequest::GetRequestSpecificHeaders() c ss.str(""); } + if(m_checksumAlgorithmHasBeenSet) + { + headers.emplace("x-amz-sdk-checksum-algorithm", ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm)); + } + + if(m_checksumCRC32HasBeenSet) + { + ss << m_checksumCRC32; + headers.emplace("x-amz-checksum-crc32", ss.str()); + ss.str(""); + } + + if(m_checksumCRC32CHasBeenSet) + { + ss << m_checksumCRC32C; + headers.emplace("x-amz-checksum-crc32c", ss.str()); + ss.str(""); + } + + if(m_checksumSHA1HasBeenSet) + { + ss << m_checksumSHA1; + headers.emplace("x-amz-checksum-sha1", ss.str()); + ss.str(""); + } + + if(m_checksumSHA256HasBeenSet) + { + ss << m_checksumSHA256; + headers.emplace("x-amz-checksum-sha256", ss.str()); + ss.str(""); + } + if(m_expiresHasBeenSet) { - headers.emplace("expires", m_expires.ToGmtString(DateFormat::RFC822)); + headers.emplace("expires", m_expires.ToGmtString(Aws::Utils::DateFormat::RFC822)); } if(m_grantFullControlHasBeenSet) @@ -255,7 +294,7 @@ Aws::Http::HeaderValueCollection PutObjectRequest::GetRequestSpecificHeaders() c if(m_objectLockRetainUntilDateHasBeenSet) { - headers.emplace("x-amz-object-lock-retain-until-date", m_objectLockRetainUntilDate.ToGmtString(DateFormat::ISO_8601)); + headers.emplace("x-amz-object-lock-retain-until-date", m_objectLockRetainUntilDate.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); } if(m_objectLockLegalHoldStatusHasBeenSet) @@ -273,3 +312,26 @@ Aws::Http::HeaderValueCollection PutObjectRequest::GetRequestSpecificHeaders() c return headers; } + +PutObjectRequest::EndpointParameters PutObjectRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} + +Aws::String PutObjectRequest::GetChecksumAlgorithmName() const +{ + if (m_checksumAlgorithm == ChecksumAlgorithm::NOT_SET) + { + return "md5"; + } + else + { + return ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm); + } +} + 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 index 0dfcb17280..21a34122e5 100644 --- 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 @@ -53,6 +53,30 @@ PutObjectResult& PutObjectResult::operator =(const Aws::AmazonWebServiceResult<X m_eTag = eTagIter->second; } + const auto& checksumCRC32Iter = headers.find("x-amz-checksum-crc32"); + if(checksumCRC32Iter != headers.end()) + { + m_checksumCRC32 = checksumCRC32Iter->second; + } + + const auto& checksumCRC32CIter = headers.find("x-amz-checksum-crc32c"); + if(checksumCRC32CIter != headers.end()) + { + m_checksumCRC32C = checksumCRC32CIter->second; + } + + const auto& checksumSHA1Iter = headers.find("x-amz-checksum-sha1"); + if(checksumSHA1Iter != headers.end()) + { + m_checksumSHA1 = checksumSHA1Iter->second; + } + + const auto& checksumSHA256Iter = headers.find("x-amz-checksum-sha256"); + if(checksumSHA256Iter != headers.end()) + { + m_checksumSHA256 = checksumSHA256Iter->second; + } + const auto& serverSideEncryptionIter = headers.find("x-amz-server-side-encryption"); if(serverSideEncryptionIter != headers.end()) { 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 index 779ac68bd3..47e0cd7039 100644 --- 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 @@ -26,6 +26,8 @@ PutObjectRetentionRequest::PutObjectRetentionRequest() : m_bypassGovernanceRetention(false), m_bypassGovernanceRetentionHasBeenSet(false), m_contentMD5HasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), m_customizedAccessLogTagHasBeenSet(false) { @@ -99,6 +101,11 @@ Aws::Http::HeaderValueCollection PutObjectRetentionRequest::GetRequestSpecificHe ss.str(""); } + if(m_checksumAlgorithmHasBeenSet) + { + headers.emplace("x-amz-sdk-checksum-algorithm", ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm)); + } + if(m_expectedBucketOwnerHasBeenSet) { ss << m_expectedBucketOwner; @@ -108,3 +115,26 @@ Aws::Http::HeaderValueCollection PutObjectRetentionRequest::GetRequestSpecificHe return headers; } + +PutObjectRetentionRequest::EndpointParameters PutObjectRetentionRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} + +Aws::String PutObjectRetentionRequest::GetChecksumAlgorithmName() const +{ + if (m_checksumAlgorithm == ChecksumAlgorithm::NOT_SET) + { + return "md5"; + } + else + { + return ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm); + } +} + 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 index 612eb0eb8e..a2da55ab0e 100644 --- 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 @@ -21,6 +21,8 @@ PutObjectTaggingRequest::PutObjectTaggingRequest() : m_keyHasBeenSet(false), m_versionIdHasBeenSet(false), m_contentMD5HasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false), m_taggingHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), m_requestPayer(RequestPayer::NOT_SET), @@ -85,6 +87,11 @@ Aws::Http::HeaderValueCollection PutObjectTaggingRequest::GetRequestSpecificHead ss.str(""); } + if(m_checksumAlgorithmHasBeenSet) + { + headers.emplace("x-amz-sdk-checksum-algorithm", ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm)); + } + if(m_expectedBucketOwnerHasBeenSet) { ss << m_expectedBucketOwner; @@ -99,3 +106,26 @@ Aws::Http::HeaderValueCollection PutObjectTaggingRequest::GetRequestSpecificHead return headers; } + +PutObjectTaggingRequest::EndpointParameters PutObjectTaggingRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} + +Aws::String PutObjectTaggingRequest::GetChecksumAlgorithmName() const +{ + if (m_checksumAlgorithm == ChecksumAlgorithm::NOT_SET) + { + return "md5"; + } + else + { + return ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm); + } +} + 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 index f06ab1ed3a..f8479fbe44 100644 --- 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 @@ -19,6 +19,8 @@ using namespace Aws::Http; PutPublicAccessBlockRequest::PutPublicAccessBlockRequest() : m_bucketHasBeenSet(false), m_contentMD5HasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false), m_publicAccessBlockConfigurationHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), m_customizedAccessLogTagHasBeenSet(false) @@ -74,6 +76,11 @@ Aws::Http::HeaderValueCollection PutPublicAccessBlockRequest::GetRequestSpecific ss.str(""); } + if(m_checksumAlgorithmHasBeenSet) + { + headers.emplace("x-amz-sdk-checksum-algorithm", ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm)); + } + if(m_expectedBucketOwnerHasBeenSet) { ss << m_expectedBucketOwner; @@ -83,3 +90,26 @@ Aws::Http::HeaderValueCollection PutPublicAccessBlockRequest::GetRequestSpecific return headers; } + +PutPublicAccessBlockRequest::EndpointParameters PutPublicAccessBlockRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} + +Aws::String PutPublicAccessBlockRequest::GetChecksumAlgorithmName() const +{ + if (m_checksumAlgorithm == ChecksumAlgorithm::NOT_SET) + { + return "md5"; + } + else + { + return ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm); + } +} + 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 index a755fc7828..85f5f73706 100644 --- 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 @@ -23,6 +23,8 @@ RestoreObjectRequest::RestoreObjectRequest() : m_restoreRequestHasBeenSet(false), m_requestPayer(RequestPayer::NOT_SET), m_requestPayerHasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), m_customizedAccessLogTagHasBeenSet(false) { @@ -82,6 +84,11 @@ Aws::Http::HeaderValueCollection RestoreObjectRequest::GetRequestSpecificHeaders headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); } + if(m_checksumAlgorithmHasBeenSet) + { + headers.emplace("x-amz-sdk-checksum-algorithm", ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm)); + } + if(m_expectedBucketOwnerHasBeenSet) { ss << m_expectedBucketOwner; @@ -91,3 +98,26 @@ Aws::Http::HeaderValueCollection RestoreObjectRequest::GetRequestSpecificHeaders return headers; } + +RestoreObjectRequest::EndpointParameters RestoreObjectRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} + +Aws::String RestoreObjectRequest::GetChecksumAlgorithmName() const +{ + if (m_checksumAlgorithm == ChecksumAlgorithm::NOT_SET) + { + return "md5"; + } + else + { + return ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm); + } +} + 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 index f3443311dd..20f0007fd9 100644 --- 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 @@ -31,7 +31,7 @@ SelectObjectContentRequest::SelectObjectContentRequest() : m_scanRangeHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), m_customizedAccessLogTagHasBeenSet(false), - m_decoder(Aws::Utils::Event::EventStreamDecoder(&m_handler)) + m_handler(), m_decoder(Aws::Utils::Event::EventStreamDecoder(&m_handler)) { } @@ -138,3 +138,13 @@ Aws::Http::HeaderValueCollection SelectObjectContentRequest::GetRequestSpecificH return headers; } + +SelectObjectContentRequest::EndpointParameters SelectObjectContentRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index 0ab7edd5de..886777a137 100644 --- 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 @@ -28,6 +28,7 @@ namespace Aws 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"); + static const int GLACIER_IR_HASH = HashingUtils::HashString("GLACIER_IR"); StorageClass GetStorageClassForName(const Aws::String& name) @@ -65,6 +66,10 @@ namespace Aws { return StorageClass::OUTPOSTS; } + else if (hashCode == GLACIER_IR_HASH) + { + return StorageClass::GLACIER_IR; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -95,6 +100,8 @@ namespace Aws return "DEEP_ARCHIVE"; case StorageClass::OUTPOSTS: return "OUTPOSTS"; + case StorageClass::GLACIER_IR: + return "GLACIER_IR"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) 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 index 8dcefe5df2..e837cd964e 100644 --- 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 @@ -48,7 +48,7 @@ Transition& Transition::operator =(const XmlNode& xmlNode) 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_date = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(dateNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); m_dateHasBeenSet = true; } XmlNode daysNode = resultNode.FirstChild("Days"); @@ -74,7 +74,7 @@ void Transition::AddToNode(XmlNode& parentNode) const if(m_dateHasBeenSet) { XmlNode dateNode = parentNode.CreateChildElement("Date"); - dateNode.SetText(m_date.ToGmtString(DateFormat::ISO_8601)); + dateNode.SetText(m_date.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); } if(m_daysHasBeenSet) 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 index 2149177071..59cc36b0b7 100644 --- 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 @@ -25,6 +25,7 @@ namespace Aws 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 GLACIER_IR_HASH = HashingUtils::HashString("GLACIER_IR"); TransitionStorageClass GetTransitionStorageClassForName(const Aws::String& name) @@ -50,6 +51,10 @@ namespace Aws { return TransitionStorageClass::DEEP_ARCHIVE; } + else if (hashCode == GLACIER_IR_HASH) + { + return TransitionStorageClass::GLACIER_IR; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -74,6 +79,8 @@ namespace Aws return "INTELLIGENT_TIERING"; case TransitionStorageClass::DEEP_ARCHIVE: return "DEEP_ARCHIVE"; + case TransitionStorageClass::GLACIER_IR: + return "GLACIER_IR"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) 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 index 364af9b8fc..f45d88ac80 100644 --- 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 @@ -42,6 +42,28 @@ UploadPartCopyRequest::UploadPartCopyRequest() : { } +bool UploadPartCopyRequest::HasEmbeddedError(Aws::IOStream &body, + const Aws::Http::HeaderValueCollection &header) const +{ + // Header is unused + (void) header; + + auto readPointer = body.tellg(); + XmlDocument doc = XmlDocument::CreateFromXmlStream(body); + + if (!doc.WasParseSuccessful()) { + body.seekg(readPointer); + return false; + } + + if (doc.GetRootElement().GetName() == "Error") { + body.seekg(readPointer); + return true; + } + body.seekg(readPointer); + return false; +} + Aws::String UploadPartCopyRequest::SerializePayload() const { return {}; @@ -103,7 +125,7 @@ Aws::Http::HeaderValueCollection UploadPartCopyRequest::GetRequestSpecificHeader if(m_copySourceIfModifiedSinceHasBeenSet) { - headers.emplace("x-amz-copy-source-if-modified-since", m_copySourceIfModifiedSince.ToGmtString(DateFormat::RFC822)); + headers.emplace("x-amz-copy-source-if-modified-since", m_copySourceIfModifiedSince.ToGmtString(Aws::Utils::DateFormat::RFC822)); } if(m_copySourceIfNoneMatchHasBeenSet) @@ -115,7 +137,7 @@ Aws::Http::HeaderValueCollection UploadPartCopyRequest::GetRequestSpecificHeader if(m_copySourceIfUnmodifiedSinceHasBeenSet) { - headers.emplace("x-amz-copy-source-if-unmodified-since", m_copySourceIfUnmodifiedSince.ToGmtString(DateFormat::RFC822)); + headers.emplace("x-amz-copy-source-if-unmodified-since", m_copySourceIfUnmodifiedSince.ToGmtString(Aws::Utils::DateFormat::RFC822)); } if(m_copySourceRangeHasBeenSet) @@ -188,3 +210,13 @@ Aws::Http::HeaderValueCollection UploadPartCopyRequest::GetRequestSpecificHeader return headers; } + +UploadPartCopyRequest::EndpointParameters UploadPartCopyRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} 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 index ee4a67ee07..59edcc90e0 100644 --- 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 @@ -22,6 +22,12 @@ UploadPartRequest::UploadPartRequest() : m_contentLength(0), m_contentLengthHasBeenSet(false), m_contentMD5HasBeenSet(false), + m_checksumAlgorithm(ChecksumAlgorithm::NOT_SET), + m_checksumAlgorithmHasBeenSet(false), + m_checksumCRC32HasBeenSet(false), + m_checksumCRC32CHasBeenSet(false), + m_checksumSHA1HasBeenSet(false), + m_checksumSHA256HasBeenSet(false), m_keyHasBeenSet(false), m_partNumber(0), m_partNumberHasBeenSet(false), @@ -91,6 +97,39 @@ Aws::Http::HeaderValueCollection UploadPartRequest::GetRequestSpecificHeaders() ss.str(""); } + if(m_checksumAlgorithmHasBeenSet) + { + headers.emplace("x-amz-sdk-checksum-algorithm", ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm)); + } + + if(m_checksumCRC32HasBeenSet) + { + ss << m_checksumCRC32; + headers.emplace("x-amz-checksum-crc32", ss.str()); + ss.str(""); + } + + if(m_checksumCRC32CHasBeenSet) + { + ss << m_checksumCRC32C; + headers.emplace("x-amz-checksum-crc32c", ss.str()); + ss.str(""); + } + + if(m_checksumSHA1HasBeenSet) + { + ss << m_checksumSHA1; + headers.emplace("x-amz-checksum-sha1", ss.str()); + ss.str(""); + } + + if(m_checksumSHA256HasBeenSet) + { + ss << m_checksumSHA256; + headers.emplace("x-amz-checksum-sha256", ss.str()); + ss.str(""); + } + if(m_sSECustomerAlgorithmHasBeenSet) { ss << m_sSECustomerAlgorithm; @@ -127,3 +166,26 @@ Aws::Http::HeaderValueCollection UploadPartRequest::GetRequestSpecificHeaders() return headers; } + +UploadPartRequest::EndpointParameters UploadPartRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} + +Aws::String UploadPartRequest::GetChecksumAlgorithmName() const +{ + if (m_checksumAlgorithm == ChecksumAlgorithm::NOT_SET) + { + return "md5"; + } + else + { + return ChecksumAlgorithmMapper::GetNameForChecksumAlgorithm(m_checksumAlgorithm); + } +} + 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 index 13ad60a463..fa24c00520 100644 --- 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 @@ -53,6 +53,30 @@ UploadPartResult& UploadPartResult::operator =(const Aws::AmazonWebServiceResult m_eTag = eTagIter->second; } + const auto& checksumCRC32Iter = headers.find("x-amz-checksum-crc32"); + if(checksumCRC32Iter != headers.end()) + { + m_checksumCRC32 = checksumCRC32Iter->second; + } + + const auto& checksumCRC32CIter = headers.find("x-amz-checksum-crc32c"); + if(checksumCRC32CIter != headers.end()) + { + m_checksumCRC32C = checksumCRC32CIter->second; + } + + const auto& checksumSHA1Iter = headers.find("x-amz-checksum-sha1"); + if(checksumSHA1Iter != headers.end()) + { + m_checksumSHA1 = checksumSHA1Iter->second; + } + + const auto& checksumSHA256Iter = headers.find("x-amz-checksum-sha256"); + if(checksumSHA256Iter != headers.end()) + { + m_checksumSHA256 = checksumSHA256Iter->second; + } + const auto& sSECustomerAlgorithmIter = headers.find("x-amz-server-side-encryption-customer-algorithm"); if(sSECustomerAlgorithmIter != headers.end()) { diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/WriteGetObjectResponseRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/WriteGetObjectResponseRequest.cpp index 49893d5823..fd1a33573c 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/WriteGetObjectResponseRequest.cpp +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/WriteGetObjectResponseRequest.cpp @@ -32,6 +32,10 @@ WriteGetObjectResponseRequest::WriteGetObjectResponseRequest() : m_contentLength(0), m_contentLengthHasBeenSet(false), m_contentRangeHasBeenSet(false), + m_checksumCRC32HasBeenSet(false), + m_checksumCRC32CHasBeenSet(false), + m_checksumSHA1HasBeenSet(false), + m_checksumSHA256HasBeenSet(false), m_deleteMarker(false), m_deleteMarkerHasBeenSet(false), m_eTagHasBeenSet(false), @@ -180,6 +184,34 @@ Aws::Http::HeaderValueCollection WriteGetObjectResponseRequest::GetRequestSpecif ss.str(""); } + if(m_checksumCRC32HasBeenSet) + { + ss << m_checksumCRC32; + headers.emplace("x-amz-fwd-header-x-amz-checksum-crc32", ss.str()); + ss.str(""); + } + + if(m_checksumCRC32CHasBeenSet) + { + ss << m_checksumCRC32C; + headers.emplace("x-amz-fwd-header-x-amz-checksum-crc32c", ss.str()); + ss.str(""); + } + + if(m_checksumSHA1HasBeenSet) + { + ss << m_checksumSHA1; + headers.emplace("x-amz-fwd-header-x-amz-checksum-sha1", ss.str()); + ss.str(""); + } + + if(m_checksumSHA256HasBeenSet) + { + ss << m_checksumSHA256; + headers.emplace("x-amz-fwd-header-x-amz-checksum-sha256", ss.str()); + ss.str(""); + } + if(m_deleteMarkerHasBeenSet) { ss << std::boolalpha << m_deleteMarker; @@ -196,7 +228,7 @@ Aws::Http::HeaderValueCollection WriteGetObjectResponseRequest::GetRequestSpecif if(m_expiresHasBeenSet) { - headers.emplace("x-amz-fwd-header-expires", m_expires.ToGmtString(DateFormat::RFC822)); + headers.emplace("x-amz-fwd-header-expires", m_expires.ToGmtString(Aws::Utils::DateFormat::RFC822)); } if(m_expirationHasBeenSet) @@ -208,7 +240,7 @@ Aws::Http::HeaderValueCollection WriteGetObjectResponseRequest::GetRequestSpecif if(m_lastModifiedHasBeenSet) { - headers.emplace("x-amz-fwd-header-last-modified", m_lastModified.ToGmtString(DateFormat::RFC822)); + headers.emplace("x-amz-fwd-header-last-modified", m_lastModified.ToGmtString(Aws::Utils::DateFormat::RFC822)); } if(m_missingMetaHasBeenSet) @@ -240,7 +272,7 @@ Aws::Http::HeaderValueCollection WriteGetObjectResponseRequest::GetRequestSpecif if(m_objectLockRetainUntilDateHasBeenSet) { - headers.emplace("x-amz-fwd-header-x-amz-object-lock-retain-until-date", m_objectLockRetainUntilDate.ToGmtString(DateFormat::ISO_8601)); + headers.emplace("x-amz-fwd-header-x-amz-object-lock-retain-until-date", m_objectLockRetainUntilDate.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); } if(m_partsCountHasBeenSet) @@ -322,3 +354,11 @@ Aws::Http::HeaderValueCollection WriteGetObjectResponseRequest::GetRequestSpecif return headers; } + +WriteGetObjectResponseRequest::EndpointParameters WriteGetObjectResponseRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Static context parameters + parameters.emplace_back(Aws::String("UseObjectLambdaEndpoint"), true, Aws::Endpoint::EndpointParameter::ParameterOrigin::STATIC_CONTEXT); + return parameters; +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/ya.make b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/ya.make index 154df74f77..88082e0010 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/ya.make +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/ya.make @@ -8,8 +8,13 @@ LICENSE_TEXTS(.yandex_meta/licenses.list.txt) PEERDIR( contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core + contrib/restricted/aws/aws-c-auth contrib/restricted/aws/aws-c-common contrib/restricted/aws/aws-c-event-stream + contrib/restricted/aws/aws-c-io + contrib/restricted/aws/aws-c-mqtt + contrib/restricted/aws/aws-c-sdkutils + contrib/restricted/aws/aws-crt-cpp ) ADDINCL( @@ -22,38 +27,52 @@ NO_COMPILER_WARNINGS() NO_UTIL() CFLAGS( + -DAWS_AUTH_USE_IMPORT_EXPORT -DAWS_CAL_USE_IMPORT_EXPORT -DAWS_CHECKSUMS_USE_IMPORT_EXPORT -DAWS_COMMON_USE_IMPORT_EXPORT + -DAWS_COMPRESSION_USE_IMPORT_EXPORT + -DAWS_CRT_CPP_USE_IMPORT_EXPORT -DAWS_EVENT_STREAM_USE_IMPORT_EXPORT + -DAWS_HTTP_USE_IMPORT_EXPORT -DAWS_IO_USE_IMPORT_EXPORT + -DAWS_MQTT_USE_IMPORT_EXPORT + -DAWS_MQTT_WITH_WEBSOCKETS + -DAWS_S3_USE_IMPORT_EXPORT + -DAWS_SDKUTILS_USE_IMPORT_EXPORT -DAWS_SDK_VERSION_MAJOR=1 - -DAWS_SDK_VERSION_MINOR=8 - -DAWS_SDK_VERSION_PATCH=186 + -DAWS_SDK_VERSION_MINOR=11 + -DAWS_SDK_VERSION_PATCH=37 + -DAWS_TEST_REGION=US_EAST_1 -DAWS_USE_EPOLL + -DENABLED_REQUEST_COMPRESSION + -DENABLED_ZLIB_REQUEST_COMPRESSION -DENABLE_CURL_CLIENT -DENABLE_OPENSSL_ENCRYPTION -DHAS_PATHCONF -DHAS_UMASK - -DS2N_ADX - -DS2N_BIKE_R3_AVX2 - -DS2N_BIKE_R3_AVX512 - -DS2N_BIKE_R3_PCLMUL - -DS2N_BIKE_R3_VPCLMUL + -DS2N_CLONE_SUPPORTED -DS2N_CPUID_AVAILABLE -DS2N_FALL_THROUGH_SUPPORTED - -DS2N_HAVE_EXECINFO + -DS2N_FEATURES_AVAILABLE -DS2N_KYBER512R3_AVX2_BMI2 - -DS2N_SIKE_P434_R3_ASM + -DS2N_LIBCRYPTO_SUPPORTS_EVP_MD5_SHA1_HASH + -DS2N_LIBCRYPTO_SUPPORTS_EVP_MD_CTX_SET_PKEY_CTX + -DS2N_LIBCRYPTO_SUPPORTS_EVP_RC4 + -DS2N_MADVISE_SUPPORTED + -DS2N_PLATFORM_SUPPORTS_KTLS + -DS2N_STACKTRACE -DS2N___RESTRICT__SUPPORTED ) SRCS( - source/S3ARN.cpp source/S3Client.cpp - source/S3Endpoint.cpp + source/S3ClientConfiguration.cpp + source/S3EndpointProvider.cpp + source/S3EndpointRules.cpp source/S3ErrorMarshaller.cpp source/S3Errors.cpp + source/S3Request.cpp source/model/AbortIncompleteMultipartUpload.cpp source/model/AbortMultipartUploadRequest.cpp source/model/AbortMultipartUploadResult.cpp @@ -79,6 +98,9 @@ SRCS( source/model/CORSRule.cpp source/model/CSVInput.cpp source/model/CSVOutput.cpp + source/model/Checksum.cpp + source/model/ChecksumAlgorithm.cpp + source/model/ChecksumMode.cpp source/model/CloudFunctionConfiguration.cpp source/model/CommonPrefix.cpp source/model/CompleteMultipartUploadRequest.cpp @@ -129,6 +151,7 @@ SRCS( source/model/Error.cpp source/model/ErrorDocument.cpp source/model/Event.cpp + source/model/EventBridgeConfiguration.cpp source/model/ExistingObjectReplication.cpp source/model/ExistingObjectReplicationStatus.cpp source/model/ExpirationStatus.cpp @@ -178,6 +201,9 @@ SRCS( source/model/GetBucketWebsiteResult.cpp source/model/GetObjectAclRequest.cpp source/model/GetObjectAclResult.cpp + source/model/GetObjectAttributesParts.cpp + source/model/GetObjectAttributesRequest.cpp + source/model/GetObjectAttributesResult.cpp source/model/GetObjectLegalHoldRequest.cpp source/model/GetObjectLegalHoldResult.cpp source/model/GetObjectLockConfigurationRequest.cpp @@ -262,6 +288,7 @@ SRCS( source/model/NotificationConfigurationDeprecated.cpp source/model/NotificationConfigurationFilter.cpp source/model/Object.cpp + source/model/ObjectAttributes.cpp source/model/ObjectCannedACL.cpp source/model/ObjectIdentifier.cpp source/model/ObjectLockConfiguration.cpp @@ -273,6 +300,7 @@ SRCS( source/model/ObjectLockRetentionMode.cpp source/model/ObjectLockRule.cpp source/model/ObjectOwnership.cpp + source/model/ObjectPart.cpp source/model/ObjectStorageClass.cpp source/model/ObjectVersion.cpp source/model/ObjectVersionStorageClass.cpp |