AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
S3CrtClient.h
1
6#pragma once
7#include <aws/s3-crt/S3Crt_EXPORTS.h>
8#include <aws/core/client/ClientConfiguration.h>
9#include <aws/core/auth/AWSCredentialsProviderChain.h>
10#include <aws/core/utils/crypto/Factories.h>
11#include <aws/s3-crt/ClientConfiguration.h>
12#include <aws/s3-crt/S3CrtErrorMarshaller.h>
13#include <aws/s3/s3_client.h>
14#include <aws/crt/auth/Sigv4Signing.h>
15#include <aws/crt/http/HttpRequestResponse.h>
16#include <aws/core/client/AWSClient.h>
17#include <aws/core/client/AWSClientAsyncCRTP.h>
18#include <aws/core/auth/AWSAuthSigner.h>
19#include <aws/core/utils/xml/XmlSerializer.h>
20#include <aws/core/utils/DNS.h>
21#include <aws/s3-crt/S3CrtServiceClientModel.h>
22#include <aws/s3-crt/S3ExpressIdentityProvider.h>
23#include <aws/s3-crt/S3CrtIdentityProviderAdapter.h>
24
25struct aws_s3_client;
26// TODO: temporary fix for naming conflicts on Windows.
27#ifdef _WIN32
28#ifdef GetObject
29#undef GetObject
30#endif
31#endif
32
33namespace Aws
34{
35 namespace S3Crt
36 {
37 namespace SSEHeaders
38 {
39 static const char SERVER_SIDE_ENCRYPTION[] = "x-amz-server-side-encryption";
40 static const char SERVER_SIDE_ENCRYPTION_AWS_KMS_KEY_ID[] = "x-amz-server-side-encryption-aws-kms-key-id";
41 static const char SERVER_SIDE_ENCRYPTION_CUSTOMER_ALGORITHM[] = "x-amz-server-side-encryption-customer-algorithm";
42 static const char SERVER_SIDE_ENCRYPTION_CUSTOMER_KEY[] = "x-amz-server-side-encryption-customer-key";
43 static const char SERVER_SIDE_ENCRYPTION_CUSTOMER_KEY_MD5[] = "x-amz-server-side-encryption-customer-key-MD5";
44 } // SS3Headers
45
46 //max expiration for presigned urls in s3 is 7 days.
47 static const unsigned MAX_EXPIRATION_SECONDS = 7 * 24 * 60 * 60;
48
50
55 {
56 public:
58 static const char* GetServiceName();
59 static const char* GetAllocationTag();
60
63
70
78
84 S3CrtClient(S3CrtClient &&rhs) noexcept;
85
93
94 /* Legacy constructors due deprecation */
100 Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads = Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::Never,
101 bool useVirtualAddressing = true,
104
111 Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads = Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::Never,
112 bool useVirtualAddressing = true,
114
119 S3CrtClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
121 Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads = Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::Never,
122 bool useVirtualAddressing = true,
124
125 /* End of legacy constructors due deprecation */
126 virtual ~S3CrtClient();
127
191
195 template<typename AbortMultipartUploadRequestT = Model::AbortMultipartUploadRequest>
196 Model::AbortMultipartUploadOutcomeCallable AbortMultipartUploadCallable(const AbortMultipartUploadRequestT& request) const
197 {
198 return SubmitCallable(&S3CrtClient::AbortMultipartUpload, request);
199 }
200
204 template<typename AbortMultipartUploadRequestT = Model::AbortMultipartUploadRequest>
205 void AbortMultipartUploadAsync(const AbortMultipartUploadRequestT& request, const AbortMultipartUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
206 {
207 return SubmitAsync(&S3CrtClient::AbortMultipartUpload, request, handler, context);
208 }
209
322
326 template<typename CompleteMultipartUploadRequestT = Model::CompleteMultipartUploadRequest>
327 Model::CompleteMultipartUploadOutcomeCallable CompleteMultipartUploadCallable(const CompleteMultipartUploadRequestT& request) const
328 {
329 return SubmitCallable(&S3CrtClient::CompleteMultipartUpload, request);
330 }
331
335 template<typename CompleteMultipartUploadRequestT = Model::CompleteMultipartUploadRequest>
336 void CompleteMultipartUploadAsync(const CompleteMultipartUploadRequestT& request, const CompleteMultipartUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
337 {
338 return SubmitAsync(&S3CrtClient::CompleteMultipartUpload, request, handler, context);
339 }
340
464
465
469 virtual void CopyObjectAsync(const Model::CopyObjectRequest& request, const CopyObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
470
578
582 template<typename CreateBucketRequestT = Model::CreateBucketRequest>
583 Model::CreateBucketOutcomeCallable CreateBucketCallable(const CreateBucketRequestT& request) const
584 {
585 return SubmitCallable(&S3CrtClient::CreateBucket, request);
586 }
587
591 template<typename CreateBucketRequestT = Model::CreateBucketRequest>
592 void CreateBucketAsync(const CreateBucketRequestT& request, const CreateBucketResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
593 {
594 return SubmitAsync(&S3CrtClient::CreateBucket, request, handler, context);
595 }
596
803
807 template<typename CreateMultipartUploadRequestT = Model::CreateMultipartUploadRequest>
808 Model::CreateMultipartUploadOutcomeCallable CreateMultipartUploadCallable(const CreateMultipartUploadRequestT& request) const
809 {
810 return SubmitCallable(&S3CrtClient::CreateMultipartUpload, request);
811 }
812
816 template<typename CreateMultipartUploadRequestT = Model::CreateMultipartUploadRequest>
817 void CreateMultipartUploadAsync(const CreateMultipartUploadRequestT& request, const CreateMultipartUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
818 {
819 return SubmitAsync(&S3CrtClient::CreateMultipartUpload, request, handler, context);
820 }
821
963
967 template<typename CreateSessionRequestT = Model::CreateSessionRequest>
968 Model::CreateSessionOutcomeCallable CreateSessionCallable(const CreateSessionRequestT& request) const
969 {
970 return SubmitCallable(&S3CrtClient::CreateSession, request);
971 }
972
976 template<typename CreateSessionRequestT = Model::CreateSessionRequest>
977 void CreateSessionAsync(const CreateSessionRequestT& request, const CreateSessionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
978 {
979 return SubmitAsync(&S3CrtClient::CreateSession, request, handler, context);
980 }
981
1019
1023 template<typename DeleteBucketRequestT = Model::DeleteBucketRequest>
1024 Model::DeleteBucketOutcomeCallable DeleteBucketCallable(const DeleteBucketRequestT& request) const
1025 {
1026 return SubmitCallable(&S3CrtClient::DeleteBucket, request);
1027 }
1028
1032 template<typename DeleteBucketRequestT = Model::DeleteBucketRequest>
1033 void DeleteBucketAsync(const DeleteBucketRequestT& request, const DeleteBucketResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
1034 {
1035 return SubmitAsync(&S3CrtClient::DeleteBucket, request, handler, context);
1036 }
1037
1063
1067 template<typename DeleteBucketAnalyticsConfigurationRequestT = Model::DeleteBucketAnalyticsConfigurationRequest>
1069 {
1070 return SubmitCallable(&S3CrtClient::DeleteBucketAnalyticsConfiguration, request);
1071 }
1072
1076 template<typename DeleteBucketAnalyticsConfigurationRequestT = Model::DeleteBucketAnalyticsConfigurationRequest>
1077 void DeleteBucketAnalyticsConfigurationAsync(const DeleteBucketAnalyticsConfigurationRequestT& request, const DeleteBucketAnalyticsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
1078 {
1079 return SubmitAsync(&S3CrtClient::DeleteBucketAnalyticsConfiguration, request, handler, context);
1080 }
1081
1100
1104 template<typename DeleteBucketCorsRequestT = Model::DeleteBucketCorsRequest>
1105 Model::DeleteBucketCorsOutcomeCallable DeleteBucketCorsCallable(const DeleteBucketCorsRequestT& request) const
1106 {
1107 return SubmitCallable(&S3CrtClient::DeleteBucketCors, request);
1108 }
1109
1113 template<typename DeleteBucketCorsRequestT = Model::DeleteBucketCorsRequest>
1114 void DeleteBucketCorsAsync(const DeleteBucketCorsRequestT& request, const DeleteBucketCorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
1115 {
1116 return SubmitAsync(&S3CrtClient::DeleteBucketCors, request, handler, context);
1117 }
1118
1162
1166 template<typename DeleteBucketEncryptionRequestT = Model::DeleteBucketEncryptionRequest>
1167 Model::DeleteBucketEncryptionOutcomeCallable DeleteBucketEncryptionCallable(const DeleteBucketEncryptionRequestT& request) const
1168 {
1169 return SubmitCallable(&S3CrtClient::DeleteBucketEncryption, request);
1170 }
1171
1175 template<typename DeleteBucketEncryptionRequestT = Model::DeleteBucketEncryptionRequest>
1176 void DeleteBucketEncryptionAsync(const DeleteBucketEncryptionRequestT& request, const DeleteBucketEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
1177 {
1178 return SubmitAsync(&S3CrtClient::DeleteBucketEncryption, request, handler, context);
1179 }
1180
1212
1216 template<typename DeleteBucketIntelligentTieringConfigurationRequestT = Model::DeleteBucketIntelligentTieringConfigurationRequest>
1218 {
1219 return SubmitCallable(&S3CrtClient::DeleteBucketIntelligentTieringConfiguration, request);
1220 }
1221
1225 template<typename DeleteBucketIntelligentTieringConfigurationRequestT = Model::DeleteBucketIntelligentTieringConfigurationRequest>
1226 void DeleteBucketIntelligentTieringConfigurationAsync(const DeleteBucketIntelligentTieringConfigurationRequestT& request, const DeleteBucketIntelligentTieringConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
1227 {
1228 return SubmitAsync(&S3CrtClient::DeleteBucketIntelligentTieringConfiguration, request, handler, context);
1229 }
1230
1256
1260 template<typename DeleteBucketInventoryConfigurationRequestT = Model::DeleteBucketInventoryConfigurationRequest>
1262 {
1263 return SubmitCallable(&S3CrtClient::DeleteBucketInventoryConfiguration, request);
1264 }
1265
1269 template<typename DeleteBucketInventoryConfigurationRequestT = Model::DeleteBucketInventoryConfigurationRequest>
1270 void DeleteBucketInventoryConfigurationAsync(const DeleteBucketInventoryConfigurationRequestT& request, const DeleteBucketInventoryConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
1271 {
1272 return SubmitAsync(&S3CrtClient::DeleteBucketInventoryConfiguration, request, handler, context);
1273 }
1274
1298
1302 template<typename DeleteBucketLifecycleRequestT = Model::DeleteBucketLifecycleRequest>
1303 Model::DeleteBucketLifecycleOutcomeCallable DeleteBucketLifecycleCallable(const DeleteBucketLifecycleRequestT& request) const
1304 {
1305 return SubmitCallable(&S3CrtClient::DeleteBucketLifecycle, request);
1306 }
1307
1311 template<typename DeleteBucketLifecycleRequestT = Model::DeleteBucketLifecycleRequest>
1312 void DeleteBucketLifecycleAsync(const DeleteBucketLifecycleRequestT& request, const DeleteBucketLifecycleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
1313 {
1314 return SubmitAsync(&S3CrtClient::DeleteBucketLifecycle, request, handler, context);
1315 }
1316
1345
1349 template<typename DeleteBucketMetricsConfigurationRequestT = Model::DeleteBucketMetricsConfigurationRequest>
1351 {
1352 return SubmitCallable(&S3CrtClient::DeleteBucketMetricsConfiguration, request);
1353 }
1354
1358 template<typename DeleteBucketMetricsConfigurationRequestT = Model::DeleteBucketMetricsConfigurationRequest>
1359 void DeleteBucketMetricsConfigurationAsync(const DeleteBucketMetricsConfigurationRequestT& request, const DeleteBucketMetricsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
1360 {
1361 return SubmitAsync(&S3CrtClient::DeleteBucketMetricsConfiguration, request, handler, context);
1362 }
1363
1381
1385 template<typename DeleteBucketOwnershipControlsRequestT = Model::DeleteBucketOwnershipControlsRequest>
1386 Model::DeleteBucketOwnershipControlsOutcomeCallable DeleteBucketOwnershipControlsCallable(const DeleteBucketOwnershipControlsRequestT& request) const
1387 {
1388 return SubmitCallable(&S3CrtClient::DeleteBucketOwnershipControls, request);
1389 }
1390
1394 template<typename DeleteBucketOwnershipControlsRequestT = Model::DeleteBucketOwnershipControlsRequest>
1395 void DeleteBucketOwnershipControlsAsync(const DeleteBucketOwnershipControlsRequestT& request, const DeleteBucketOwnershipControlsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
1396 {
1397 return SubmitAsync(&S3CrtClient::DeleteBucketOwnershipControls, request, handler, context);
1398 }
1399
1451
1455 template<typename DeleteBucketPolicyRequestT = Model::DeleteBucketPolicyRequest>
1456 Model::DeleteBucketPolicyOutcomeCallable DeleteBucketPolicyCallable(const DeleteBucketPolicyRequestT& request) const
1457 {
1458 return SubmitCallable(&S3CrtClient::DeleteBucketPolicy, request);
1459 }
1460
1464 template<typename DeleteBucketPolicyRequestT = Model::DeleteBucketPolicyRequest>
1465 void DeleteBucketPolicyAsync(const DeleteBucketPolicyRequestT& request, const DeleteBucketPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
1466 {
1467 return SubmitAsync(&S3CrtClient::DeleteBucketPolicy, request, handler, context);
1468 }
1469
1494
1498 template<typename DeleteBucketReplicationRequestT = Model::DeleteBucketReplicationRequest>
1499 Model::DeleteBucketReplicationOutcomeCallable DeleteBucketReplicationCallable(const DeleteBucketReplicationRequestT& request) const
1500 {
1501 return SubmitCallable(&S3CrtClient::DeleteBucketReplication, request);
1502 }
1503
1507 template<typename DeleteBucketReplicationRequestT = Model::DeleteBucketReplicationRequest>
1508 void DeleteBucketReplicationAsync(const DeleteBucketReplicationRequestT& request, const DeleteBucketReplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
1509 {
1510 return SubmitAsync(&S3CrtClient::DeleteBucketReplication, request, handler, context);
1511 }
1512
1528
1532 template<typename DeleteBucketTaggingRequestT = Model::DeleteBucketTaggingRequest>
1533 Model::DeleteBucketTaggingOutcomeCallable DeleteBucketTaggingCallable(const DeleteBucketTaggingRequestT& request) const
1534 {
1535 return SubmitCallable(&S3CrtClient::DeleteBucketTagging, request);
1536 }
1537
1541 template<typename DeleteBucketTaggingRequestT = Model::DeleteBucketTaggingRequest>
1542 void DeleteBucketTaggingAsync(const DeleteBucketTaggingRequestT& request, const DeleteBucketTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
1543 {
1544 return SubmitAsync(&S3CrtClient::DeleteBucketTagging, request, handler, context);
1545 }
1546
1571
1575 template<typename DeleteBucketWebsiteRequestT = Model::DeleteBucketWebsiteRequest>
1576 Model::DeleteBucketWebsiteOutcomeCallable DeleteBucketWebsiteCallable(const DeleteBucketWebsiteRequestT& request) const
1577 {
1578 return SubmitCallable(&S3CrtClient::DeleteBucketWebsite, request);
1579 }
1580
1584 template<typename DeleteBucketWebsiteRequestT = Model::DeleteBucketWebsiteRequest>
1585 void DeleteBucketWebsiteAsync(const DeleteBucketWebsiteRequestT& request, const DeleteBucketWebsiteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
1586 {
1587 return SubmitAsync(&S3CrtClient::DeleteBucketWebsite, request, handler, context);
1588 }
1589
1646
1650 template<typename DeleteObjectRequestT = Model::DeleteObjectRequest>
1651 Model::DeleteObjectOutcomeCallable DeleteObjectCallable(const DeleteObjectRequestT& request) const
1652 {
1653 return SubmitCallable(&S3CrtClient::DeleteObject, request);
1654 }
1655
1659 template<typename DeleteObjectRequestT = Model::DeleteObjectRequest>
1660 void DeleteObjectAsync(const DeleteObjectRequestT& request, const DeleteObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
1661 {
1662 return SubmitAsync(&S3CrtClient::DeleteObject, request, handler, context);
1663 }
1664
1684
1688 template<typename DeleteObjectTaggingRequestT = Model::DeleteObjectTaggingRequest>
1689 Model::DeleteObjectTaggingOutcomeCallable DeleteObjectTaggingCallable(const DeleteObjectTaggingRequestT& request) const
1690 {
1691 return SubmitCallable(&S3CrtClient::DeleteObjectTagging, request);
1692 }
1693
1697 template<typename DeleteObjectTaggingRequestT = Model::DeleteObjectTaggingRequest>
1698 void DeleteObjectTaggingAsync(const DeleteObjectTaggingRequestT& request, const DeleteObjectTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
1699 {
1700 return SubmitAsync(&S3CrtClient::DeleteObjectTagging, request, handler, context);
1701 }
1702
1787
1791 template<typename DeleteObjectsRequestT = Model::DeleteObjectsRequest>
1792 Model::DeleteObjectsOutcomeCallable DeleteObjectsCallable(const DeleteObjectsRequestT& request) const
1793 {
1794 return SubmitCallable(&S3CrtClient::DeleteObjects, request);
1795 }
1796
1800 template<typename DeleteObjectsRequestT = Model::DeleteObjectsRequest>
1801 void DeleteObjectsAsync(const DeleteObjectsRequestT& request, const DeleteObjectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
1802 {
1803 return SubmitAsync(&S3CrtClient::DeleteObjects, request, handler, context);
1804 }
1805
1830
1834 template<typename DeletePublicAccessBlockRequestT = Model::DeletePublicAccessBlockRequest>
1835 Model::DeletePublicAccessBlockOutcomeCallable DeletePublicAccessBlockCallable(const DeletePublicAccessBlockRequestT& request) const
1836 {
1837 return SubmitCallable(&S3CrtClient::DeletePublicAccessBlock, request);
1838 }
1839
1843 template<typename DeletePublicAccessBlockRequestT = Model::DeletePublicAccessBlockRequest>
1844 void DeletePublicAccessBlockAsync(const DeletePublicAccessBlockRequestT& request, const DeletePublicAccessBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
1845 {
1846 return SubmitAsync(&S3CrtClient::DeletePublicAccessBlock, request, handler, context);
1847 }
1848
1880
1884 template<typename GetBucketAccelerateConfigurationRequestT = Model::GetBucketAccelerateConfigurationRequest>
1886 {
1887 return SubmitCallable(&S3CrtClient::GetBucketAccelerateConfiguration, request);
1888 }
1889
1893 template<typename GetBucketAccelerateConfigurationRequestT = Model::GetBucketAccelerateConfigurationRequest>
1894 void GetBucketAccelerateConfigurationAsync(const GetBucketAccelerateConfigurationRequestT& request, const GetBucketAccelerateConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
1895 {
1896 return SubmitAsync(&S3CrtClient::GetBucketAccelerateConfiguration, request, handler, context);
1897 }
1898
1928
1932 template<typename GetBucketAclRequestT = Model::GetBucketAclRequest>
1933 Model::GetBucketAclOutcomeCallable GetBucketAclCallable(const GetBucketAclRequestT& request) const
1934 {
1935 return SubmitCallable(&S3CrtClient::GetBucketAcl, request);
1936 }
1937
1941 template<typename GetBucketAclRequestT = Model::GetBucketAclRequest>
1942 void GetBucketAclAsync(const GetBucketAclRequestT& request, const GetBucketAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
1943 {
1944 return SubmitAsync(&S3CrtClient::GetBucketAcl, request, handler, context);
1945 }
1946
1974
1978 template<typename GetBucketAnalyticsConfigurationRequestT = Model::GetBucketAnalyticsConfigurationRequest>
1980 {
1981 return SubmitCallable(&S3CrtClient::GetBucketAnalyticsConfiguration, request);
1982 }
1983
1987 template<typename GetBucketAnalyticsConfigurationRequestT = Model::GetBucketAnalyticsConfigurationRequest>
1988 void GetBucketAnalyticsConfigurationAsync(const GetBucketAnalyticsConfigurationRequestT& request, const GetBucketAnalyticsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
1989 {
1990 return SubmitAsync(&S3CrtClient::GetBucketAnalyticsConfiguration, request, handler, context);
1991 }
1992
2018
2022 template<typename GetBucketCorsRequestT = Model::GetBucketCorsRequest>
2023 Model::GetBucketCorsOutcomeCallable GetBucketCorsCallable(const GetBucketCorsRequestT& request) const
2024 {
2025 return SubmitCallable(&S3CrtClient::GetBucketCors, request);
2026 }
2027
2031 template<typename GetBucketCorsRequestT = Model::GetBucketCorsRequest>
2032 void GetBucketCorsAsync(const GetBucketCorsRequestT& request, const GetBucketCorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
2033 {
2034 return SubmitAsync(&S3CrtClient::GetBucketCors, request, handler, context);
2035 }
2036
2081
2085 template<typename GetBucketEncryptionRequestT = Model::GetBucketEncryptionRequest>
2086 Model::GetBucketEncryptionOutcomeCallable GetBucketEncryptionCallable(const GetBucketEncryptionRequestT& request) const
2087 {
2088 return SubmitCallable(&S3CrtClient::GetBucketEncryption, request);
2089 }
2090
2094 template<typename GetBucketEncryptionRequestT = Model::GetBucketEncryptionRequest>
2095 void GetBucketEncryptionAsync(const GetBucketEncryptionRequestT& request, const GetBucketEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
2096 {
2097 return SubmitAsync(&S3CrtClient::GetBucketEncryption, request, handler, context);
2098 }
2099
2130
2134 template<typename GetBucketIntelligentTieringConfigurationRequestT = Model::GetBucketIntelligentTieringConfigurationRequest>
2136 {
2137 return SubmitCallable(&S3CrtClient::GetBucketIntelligentTieringConfiguration, request);
2138 }
2139
2143 template<typename GetBucketIntelligentTieringConfigurationRequestT = Model::GetBucketIntelligentTieringConfigurationRequest>
2144 void GetBucketIntelligentTieringConfigurationAsync(const GetBucketIntelligentTieringConfigurationRequestT& request, const GetBucketIntelligentTieringConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
2145 {
2146 return SubmitAsync(&S3CrtClient::GetBucketIntelligentTieringConfiguration, request, handler, context);
2147 }
2148
2174
2178 template<typename GetBucketInventoryConfigurationRequestT = Model::GetBucketInventoryConfigurationRequest>
2180 {
2181 return SubmitCallable(&S3CrtClient::GetBucketInventoryConfiguration, request);
2182 }
2183
2187 template<typename GetBucketInventoryConfigurationRequestT = Model::GetBucketInventoryConfigurationRequest>
2188 void GetBucketInventoryConfigurationAsync(const GetBucketInventoryConfigurationRequestT& request, const GetBucketInventoryConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
2189 {
2190 return SubmitAsync(&S3CrtClient::GetBucketInventoryConfiguration, request, handler, context);
2191 }
2192
2233
2237 template<typename GetBucketLifecycleConfigurationRequestT = Model::GetBucketLifecycleConfigurationRequest>
2239 {
2240 return SubmitCallable(&S3CrtClient::GetBucketLifecycleConfiguration, request);
2241 }
2242
2246 template<typename GetBucketLifecycleConfigurationRequestT = Model::GetBucketLifecycleConfigurationRequest>
2247 void GetBucketLifecycleConfigurationAsync(const GetBucketLifecycleConfigurationRequestT& request, const GetBucketLifecycleConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
2248 {
2249 return SubmitAsync(&S3CrtClient::GetBucketLifecycleConfiguration, request, handler, context);
2250 }
2251
2279
2283 template<typename GetBucketLocationRequestT = Model::GetBucketLocationRequest>
2284 Model::GetBucketLocationOutcomeCallable GetBucketLocationCallable(const GetBucketLocationRequestT& request) const
2285 {
2286 return SubmitCallable(&S3CrtClient::GetBucketLocation, request);
2287 }
2288
2292 template<typename GetBucketLocationRequestT = Model::GetBucketLocationRequest>
2293 void GetBucketLocationAsync(const GetBucketLocationRequestT& request, const GetBucketLocationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
2294 {
2295 return SubmitAsync(&S3CrtClient::GetBucketLocation, request, handler, context);
2296 }
2297
2311
2315 template<typename GetBucketLoggingRequestT = Model::GetBucketLoggingRequest>
2316 Model::GetBucketLoggingOutcomeCallable GetBucketLoggingCallable(const GetBucketLoggingRequestT& request) const
2317 {
2318 return SubmitCallable(&S3CrtClient::GetBucketLogging, request);
2319 }
2320
2324 template<typename GetBucketLoggingRequestT = Model::GetBucketLoggingRequest>
2325 void GetBucketLoggingAsync(const GetBucketLoggingRequestT& request, const GetBucketLoggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
2326 {
2327 return SubmitAsync(&S3CrtClient::GetBucketLogging, request, handler, context);
2328 }
2329
2358
2362 template<typename GetBucketMetricsConfigurationRequestT = Model::GetBucketMetricsConfigurationRequest>
2363 Model::GetBucketMetricsConfigurationOutcomeCallable GetBucketMetricsConfigurationCallable(const GetBucketMetricsConfigurationRequestT& request) const
2364 {
2365 return SubmitCallable(&S3CrtClient::GetBucketMetricsConfiguration, request);
2366 }
2367
2371 template<typename GetBucketMetricsConfigurationRequestT = Model::GetBucketMetricsConfigurationRequest>
2372 void GetBucketMetricsConfigurationAsync(const GetBucketMetricsConfigurationRequestT& request, const GetBucketMetricsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
2373 {
2374 return SubmitAsync(&S3CrtClient::GetBucketMetricsConfiguration, request, handler, context);
2375 }
2376
2407
2411 template<typename GetBucketNotificationConfigurationRequestT = Model::GetBucketNotificationConfigurationRequest>
2413 {
2414 return SubmitCallable(&S3CrtClient::GetBucketNotificationConfiguration, request);
2415 }
2416
2420 template<typename GetBucketNotificationConfigurationRequestT = Model::GetBucketNotificationConfigurationRequest>
2421 void GetBucketNotificationConfigurationAsync(const GetBucketNotificationConfigurationRequestT& request, const GetBucketNotificationConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
2422 {
2423 return SubmitAsync(&S3CrtClient::GetBucketNotificationConfiguration, request, handler, context);
2424 }
2425
2443
2447 template<typename GetBucketOwnershipControlsRequestT = Model::GetBucketOwnershipControlsRequest>
2448 Model::GetBucketOwnershipControlsOutcomeCallable GetBucketOwnershipControlsCallable(const GetBucketOwnershipControlsRequestT& request) const
2449 {
2450 return SubmitCallable(&S3CrtClient::GetBucketOwnershipControls, request);
2451 }
2452
2456 template<typename GetBucketOwnershipControlsRequestT = Model::GetBucketOwnershipControlsRequest>
2457 void GetBucketOwnershipControlsAsync(const GetBucketOwnershipControlsRequestT& request, const GetBucketOwnershipControlsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
2458 {
2459 return SubmitAsync(&S3CrtClient::GetBucketOwnershipControls, request, handler, context);
2460 }
2461
2519
2523 template<typename GetBucketPolicyRequestT = Model::GetBucketPolicyRequest>
2524 Model::GetBucketPolicyOutcomeCallable GetBucketPolicyCallable(const GetBucketPolicyRequestT& request) const
2525 {
2526 return SubmitCallable(&S3CrtClient::GetBucketPolicy, request);
2527 }
2528
2532 template<typename GetBucketPolicyRequestT = Model::GetBucketPolicyRequest>
2533 void GetBucketPolicyAsync(const GetBucketPolicyRequestT& request, const GetBucketPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
2534 {
2535 return SubmitAsync(&S3CrtClient::GetBucketPolicy, request, handler, context);
2536 }
2537
2562
2566 template<typename GetBucketPolicyStatusRequestT = Model::GetBucketPolicyStatusRequest>
2567 Model::GetBucketPolicyStatusOutcomeCallable GetBucketPolicyStatusCallable(const GetBucketPolicyStatusRequestT& request) const
2568 {
2569 return SubmitCallable(&S3CrtClient::GetBucketPolicyStatus, request);
2570 }
2571
2575 template<typename GetBucketPolicyStatusRequestT = Model::GetBucketPolicyStatusRequest>
2576 void GetBucketPolicyStatusAsync(const GetBucketPolicyStatusRequestT& request, const GetBucketPolicyStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
2577 {
2578 return SubmitAsync(&S3CrtClient::GetBucketPolicyStatus, request, handler, context);
2579 }
2580
2608
2612 template<typename GetBucketReplicationRequestT = Model::GetBucketReplicationRequest>
2613 Model::GetBucketReplicationOutcomeCallable GetBucketReplicationCallable(const GetBucketReplicationRequestT& request) const
2614 {
2615 return SubmitCallable(&S3CrtClient::GetBucketReplication, request);
2616 }
2617
2621 template<typename GetBucketReplicationRequestT = Model::GetBucketReplicationRequest>
2622 void GetBucketReplicationAsync(const GetBucketReplicationRequestT& request, const GetBucketReplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
2623 {
2624 return SubmitAsync(&S3CrtClient::GetBucketReplication, request, handler, context);
2625 }
2626
2640
2644 template<typename GetBucketRequestPaymentRequestT = Model::GetBucketRequestPaymentRequest>
2645 Model::GetBucketRequestPaymentOutcomeCallable GetBucketRequestPaymentCallable(const GetBucketRequestPaymentRequestT& request) const
2646 {
2647 return SubmitCallable(&S3CrtClient::GetBucketRequestPayment, request);
2648 }
2649
2653 template<typename GetBucketRequestPaymentRequestT = Model::GetBucketRequestPaymentRequest>
2654 void GetBucketRequestPaymentAsync(const GetBucketRequestPaymentRequestT& request, const GetBucketRequestPaymentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
2655 {
2656 return SubmitAsync(&S3CrtClient::GetBucketRequestPayment, request, handler, context);
2657 }
2658
2677
2681 template<typename GetBucketTaggingRequestT = Model::GetBucketTaggingRequest>
2682 Model::GetBucketTaggingOutcomeCallable GetBucketTaggingCallable(const GetBucketTaggingRequestT& request) const
2683 {
2684 return SubmitCallable(&S3CrtClient::GetBucketTagging, request);
2685 }
2686
2690 template<typename GetBucketTaggingRequestT = Model::GetBucketTaggingRequest>
2691 void GetBucketTaggingAsync(const GetBucketTaggingRequestT& request, const GetBucketTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
2692 {
2693 return SubmitAsync(&S3CrtClient::GetBucketTagging, request, handler, context);
2694 }
2695
2714
2718 template<typename GetBucketVersioningRequestT = Model::GetBucketVersioningRequest>
2719 Model::GetBucketVersioningOutcomeCallable GetBucketVersioningCallable(const GetBucketVersioningRequestT& request) const
2720 {
2721 return SubmitCallable(&S3CrtClient::GetBucketVersioning, request);
2722 }
2723
2727 template<typename GetBucketVersioningRequestT = Model::GetBucketVersioningRequest>
2728 void GetBucketVersioningAsync(const GetBucketVersioningRequestT& request, const GetBucketVersioningResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
2729 {
2730 return SubmitAsync(&S3CrtClient::GetBucketVersioning, request, handler, context);
2731 }
2732
2754
2758 template<typename GetBucketWebsiteRequestT = Model::GetBucketWebsiteRequest>
2759 Model::GetBucketWebsiteOutcomeCallable GetBucketWebsiteCallable(const GetBucketWebsiteRequestT& request) const
2760 {
2761 return SubmitCallable(&S3CrtClient::GetBucketWebsite, request);
2762 }
2763
2767 template<typename GetBucketWebsiteRequestT = Model::GetBucketWebsiteRequest>
2768 void GetBucketWebsiteAsync(const GetBucketWebsiteRequestT& request, const GetBucketWebsiteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
2769 {
2770 return SubmitAsync(&S3CrtClient::GetBucketWebsite, request, handler, context);
2771 }
2772
2899
2900
2904 virtual void GetObjectAsync(const Model::GetObjectRequest& request, const GetObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2905
2936
2940 template<typename GetObjectAclRequestT = Model::GetObjectAclRequest>
2941 Model::GetObjectAclOutcomeCallable GetObjectAclCallable(const GetObjectAclRequestT& request) const
2942 {
2943 return SubmitCallable(&S3CrtClient::GetObjectAcl, request);
2944 }
2945
2949 template<typename GetObjectAclRequestT = Model::GetObjectAclRequest>
2950 void GetObjectAclAsync(const GetObjectAclRequestT& request, const GetObjectAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
2951 {
2952 return SubmitAsync(&S3CrtClient::GetObjectAcl, request, handler, context);
2953 }
2954
3084
3088 template<typename GetObjectAttributesRequestT = Model::GetObjectAttributesRequest>
3089 Model::GetObjectAttributesOutcomeCallable GetObjectAttributesCallable(const GetObjectAttributesRequestT& request) const
3090 {
3091 return SubmitCallable(&S3CrtClient::GetObjectAttributes, request);
3092 }
3093
3097 template<typename GetObjectAttributesRequestT = Model::GetObjectAttributesRequest>
3098 void GetObjectAttributesAsync(const GetObjectAttributesRequestT& request, const GetObjectAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
3099 {
3100 return SubmitAsync(&S3CrtClient::GetObjectAttributes, request, handler, context);
3101 }
3102
3116
3120 template<typename GetObjectLegalHoldRequestT = Model::GetObjectLegalHoldRequest>
3121 Model::GetObjectLegalHoldOutcomeCallable GetObjectLegalHoldCallable(const GetObjectLegalHoldRequestT& request) const
3122 {
3123 return SubmitCallable(&S3CrtClient::GetObjectLegalHold, request);
3124 }
3125
3129 template<typename GetObjectLegalHoldRequestT = Model::GetObjectLegalHoldRequest>
3130 void GetObjectLegalHoldAsync(const GetObjectLegalHoldRequestT& request, const GetObjectLegalHoldResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
3131 {
3132 return SubmitAsync(&S3CrtClient::GetObjectLegalHold, request, handler, context);
3133 }
3134
3149
3153 template<typename GetObjectLockConfigurationRequestT = Model::GetObjectLockConfigurationRequest>
3154 Model::GetObjectLockConfigurationOutcomeCallable GetObjectLockConfigurationCallable(const GetObjectLockConfigurationRequestT& request) const
3155 {
3156 return SubmitCallable(&S3CrtClient::GetObjectLockConfiguration, request);
3157 }
3158
3162 template<typename GetObjectLockConfigurationRequestT = Model::GetObjectLockConfigurationRequest>
3163 void GetObjectLockConfigurationAsync(const GetObjectLockConfigurationRequestT& request, const GetObjectLockConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
3164 {
3165 return SubmitAsync(&S3CrtClient::GetObjectLockConfiguration, request, handler, context);
3166 }
3167
3181
3185 template<typename GetObjectRetentionRequestT = Model::GetObjectRetentionRequest>
3186 Model::GetObjectRetentionOutcomeCallable GetObjectRetentionCallable(const GetObjectRetentionRequestT& request) const
3187 {
3188 return SubmitCallable(&S3CrtClient::GetObjectRetention, request);
3189 }
3190
3194 template<typename GetObjectRetentionRequestT = Model::GetObjectRetentionRequest>
3195 void GetObjectRetentionAsync(const GetObjectRetentionRequestT& request, const GetObjectRetentionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
3196 {
3197 return SubmitAsync(&S3CrtClient::GetObjectRetention, request, handler, context);
3198 }
3199
3225
3229 template<typename GetObjectTaggingRequestT = Model::GetObjectTaggingRequest>
3230 Model::GetObjectTaggingOutcomeCallable GetObjectTaggingCallable(const GetObjectTaggingRequestT& request) const
3231 {
3232 return SubmitCallable(&S3CrtClient::GetObjectTagging, request);
3233 }
3234
3238 template<typename GetObjectTaggingRequestT = Model::GetObjectTaggingRequest>
3239 void GetObjectTaggingAsync(const GetObjectTaggingRequestT& request, const GetObjectTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
3240 {
3241 return SubmitAsync(&S3CrtClient::GetObjectTagging, request, handler, context);
3242 }
3243
3259
3263 template<typename GetObjectTorrentRequestT = Model::GetObjectTorrentRequest>
3264 Model::GetObjectTorrentOutcomeCallable GetObjectTorrentCallable(const GetObjectTorrentRequestT& request) const
3265 {
3266 return SubmitCallable(&S3CrtClient::GetObjectTorrent, request);
3267 }
3268
3272 template<typename GetObjectTorrentRequestT = Model::GetObjectTorrentRequest>
3273 void GetObjectTorrentAsync(const GetObjectTorrentRequestT& request, const GetObjectTorrentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
3274 {
3275 return SubmitAsync(&S3CrtClient::GetObjectTorrent, request, handler, context);
3276 }
3277
3308
3312 template<typename GetPublicAccessBlockRequestT = Model::GetPublicAccessBlockRequest>
3313 Model::GetPublicAccessBlockOutcomeCallable GetPublicAccessBlockCallable(const GetPublicAccessBlockRequestT& request) const
3314 {
3315 return SubmitCallable(&S3CrtClient::GetPublicAccessBlock, request);
3316 }
3317
3321 template<typename GetPublicAccessBlockRequestT = Model::GetPublicAccessBlockRequest>
3322 void GetPublicAccessBlockAsync(const GetPublicAccessBlockRequestT& request, const GetPublicAccessBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
3323 {
3324 return SubmitAsync(&S3CrtClient::GetPublicAccessBlock, request, handler, context);
3325 }
3326
3381
3385 template<typename HeadBucketRequestT = Model::HeadBucketRequest>
3386 Model::HeadBucketOutcomeCallable HeadBucketCallable(const HeadBucketRequestT& request) const
3387 {
3388 return SubmitCallable(&S3CrtClient::HeadBucket, request);
3389 }
3390
3394 template<typename HeadBucketRequestT = Model::HeadBucketRequest>
3395 void HeadBucketAsync(const HeadBucketRequestT& request, const HeadBucketResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
3396 {
3397 return SubmitAsync(&S3CrtClient::HeadBucket, request, handler, context);
3398 }
3399
3508
3512 template<typename HeadObjectRequestT = Model::HeadObjectRequest>
3513 Model::HeadObjectOutcomeCallable HeadObjectCallable(const HeadObjectRequestT& request) const
3514 {
3515 return SubmitCallable(&S3CrtClient::HeadObject, request);
3516 }
3517
3521 template<typename HeadObjectRequestT = Model::HeadObjectRequest>
3522 void HeadObjectAsync(const HeadObjectRequestT& request, const HeadObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
3523 {
3524 return SubmitAsync(&S3CrtClient::HeadObject, request, handler, context);
3525 }
3526
3560
3564 template<typename ListBucketAnalyticsConfigurationsRequestT = Model::ListBucketAnalyticsConfigurationsRequest>
3566 {
3567 return SubmitCallable(&S3CrtClient::ListBucketAnalyticsConfigurations, request);
3568 }
3569
3573 template<typename ListBucketAnalyticsConfigurationsRequestT = Model::ListBucketAnalyticsConfigurationsRequest>
3574 void ListBucketAnalyticsConfigurationsAsync(const ListBucketAnalyticsConfigurationsRequestT& request, const ListBucketAnalyticsConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
3575 {
3576 return SubmitAsync(&S3CrtClient::ListBucketAnalyticsConfigurations, request, handler, context);
3577 }
3578
3609
3613 template<typename ListBucketIntelligentTieringConfigurationsRequestT = Model::ListBucketIntelligentTieringConfigurationsRequest>
3615 {
3616 return SubmitCallable(&S3CrtClient::ListBucketIntelligentTieringConfigurations, request);
3617 }
3618
3622 template<typename ListBucketIntelligentTieringConfigurationsRequestT = Model::ListBucketIntelligentTieringConfigurationsRequest>
3623 void ListBucketIntelligentTieringConfigurationsAsync(const ListBucketIntelligentTieringConfigurationsRequestT& request, const ListBucketIntelligentTieringConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
3624 {
3625 return SubmitAsync(&S3CrtClient::ListBucketIntelligentTieringConfigurations, request, handler, context);
3626 }
3627
3661
3665 template<typename ListBucketInventoryConfigurationsRequestT = Model::ListBucketInventoryConfigurationsRequest>
3667 {
3668 return SubmitCallable(&S3CrtClient::ListBucketInventoryConfigurations, request);
3669 }
3670
3674 template<typename ListBucketInventoryConfigurationsRequestT = Model::ListBucketInventoryConfigurationsRequest>
3675 void ListBucketInventoryConfigurationsAsync(const ListBucketInventoryConfigurationsRequestT& request, const ListBucketInventoryConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
3676 {
3677 return SubmitAsync(&S3CrtClient::ListBucketInventoryConfigurations, request, handler, context);
3678 }
3679
3715
3719 template<typename ListBucketMetricsConfigurationsRequestT = Model::ListBucketMetricsConfigurationsRequest>
3721 {
3722 return SubmitCallable(&S3CrtClient::ListBucketMetricsConfigurations, request);
3723 }
3724
3728 template<typename ListBucketMetricsConfigurationsRequestT = Model::ListBucketMetricsConfigurationsRequest>
3729 void ListBucketMetricsConfigurationsAsync(const ListBucketMetricsConfigurationsRequestT& request, const ListBucketMetricsConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
3730 {
3731 return SubmitAsync(&S3CrtClient::ListBucketMetricsConfigurations, request, handler, context);
3732 }
3733
3746
3750 template<typename ListBucketsRequestT = Model::ListBucketsRequest>
3751 Model::ListBucketsOutcomeCallable ListBucketsCallable(const ListBucketsRequestT& request = {}) const
3752 {
3753 return SubmitCallable(&S3CrtClient::ListBuckets, request);
3754 }
3755
3759 template<typename ListBucketsRequestT = Model::ListBucketsRequest>
3760 void ListBucketsAsync(const ListBucketsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr, const ListBucketsRequestT& request = {}) const
3761 {
3762 return SubmitAsync(&S3CrtClient::ListBuckets, request, handler, context);
3763 }
3764
3794
3798 template<typename ListDirectoryBucketsRequestT = Model::ListDirectoryBucketsRequest>
3799 Model::ListDirectoryBucketsOutcomeCallable ListDirectoryBucketsCallable(const ListDirectoryBucketsRequestT& request = {}) const
3800 {
3801 return SubmitCallable(&S3CrtClient::ListDirectoryBuckets, request);
3802 }
3803
3807 template<typename ListDirectoryBucketsRequestT = Model::ListDirectoryBucketsRequest>
3808 void ListDirectoryBucketsAsync(const ListDirectoryBucketsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr, const ListDirectoryBucketsRequestT& request = {}) const
3809 {
3810 return SubmitAsync(&S3CrtClient::ListDirectoryBuckets, request, handler, context);
3811 }
3812
3901
3905 template<typename ListMultipartUploadsRequestT = Model::ListMultipartUploadsRequest>
3906 Model::ListMultipartUploadsOutcomeCallable ListMultipartUploadsCallable(const ListMultipartUploadsRequestT& request) const
3907 {
3908 return SubmitCallable(&S3CrtClient::ListMultipartUploads, request);
3909 }
3910
3914 template<typename ListMultipartUploadsRequestT = Model::ListMultipartUploadsRequest>
3915 void ListMultipartUploadsAsync(const ListMultipartUploadsRequestT& request, const ListMultipartUploadsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
3916 {
3917 return SubmitAsync(&S3CrtClient::ListMultipartUploads, request, handler, context);
3918 }
3919
3944
3948 template<typename ListObjectVersionsRequestT = Model::ListObjectVersionsRequest>
3949 Model::ListObjectVersionsOutcomeCallable ListObjectVersionsCallable(const ListObjectVersionsRequestT& request) const
3950 {
3951 return SubmitCallable(&S3CrtClient::ListObjectVersions, request);
3952 }
3953
3957 template<typename ListObjectVersionsRequestT = Model::ListObjectVersionsRequest>
3958 void ListObjectVersionsAsync(const ListObjectVersionsRequestT& request, const ListObjectVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
3959 {
3960 return SubmitAsync(&S3CrtClient::ListObjectVersions, request, handler, context);
3961 }
3962
3989
3993 template<typename ListObjectsRequestT = Model::ListObjectsRequest>
3994 Model::ListObjectsOutcomeCallable ListObjectsCallable(const ListObjectsRequestT& request) const
3995 {
3996 return SubmitCallable(&S3CrtClient::ListObjects, request);
3997 }
3998
4002 template<typename ListObjectsRequestT = Model::ListObjectsRequest>
4003 void ListObjectsAsync(const ListObjectsRequestT& request, const ListObjectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
4004 {
4005 return SubmitAsync(&S3CrtClient::ListObjects, request, handler, context);
4006 }
4007
4081
4085 template<typename ListObjectsV2RequestT = Model::ListObjectsV2Request>
4086 Model::ListObjectsV2OutcomeCallable ListObjectsV2Callable(const ListObjectsV2RequestT& request) const
4087 {
4088 return SubmitCallable(&S3CrtClient::ListObjectsV2, request);
4089 }
4090
4094 template<typename ListObjectsV2RequestT = Model::ListObjectsV2Request>
4095 void ListObjectsV2Async(const ListObjectsV2RequestT& request, const ListObjectsV2ResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
4096 {
4097 return SubmitAsync(&S3CrtClient::ListObjectsV2, request, handler, context);
4098 }
4099
4171
4175 template<typename ListPartsRequestT = Model::ListPartsRequest>
4176 Model::ListPartsOutcomeCallable ListPartsCallable(const ListPartsRequestT& request) const
4177 {
4178 return SubmitCallable(&S3CrtClient::ListParts, request);
4179 }
4180
4184 template<typename ListPartsRequestT = Model::ListPartsRequest>
4185 void ListPartsAsync(const ListPartsRequestT& request, const ListPartsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
4186 {
4187 return SubmitAsync(&S3CrtClient::ListParts, request, handler, context);
4188 }
4189
4224
4228 template<typename PutBucketAccelerateConfigurationRequestT = Model::PutBucketAccelerateConfigurationRequest>
4230 {
4231 return SubmitCallable(&S3CrtClient::PutBucketAccelerateConfiguration, request);
4232 }
4233
4237 template<typename PutBucketAccelerateConfigurationRequestT = Model::PutBucketAccelerateConfigurationRequest>
4238 void PutBucketAccelerateConfigurationAsync(const PutBucketAccelerateConfigurationRequestT& request, const PutBucketAccelerateConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
4239 {
4240 return SubmitAsync(&S3CrtClient::PutBucketAccelerateConfiguration, request, handler, context);
4241 }
4242
4339
4343 template<typename PutBucketAclRequestT = Model::PutBucketAclRequest>
4344 Model::PutBucketAclOutcomeCallable PutBucketAclCallable(const PutBucketAclRequestT& request) const
4345 {
4346 return SubmitCallable(&S3CrtClient::PutBucketAcl, request);
4347 }
4348
4352 template<typename PutBucketAclRequestT = Model::PutBucketAclRequest>
4353 void PutBucketAclAsync(const PutBucketAclRequestT& request, const PutBucketAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
4354 {
4355 return SubmitAsync(&S3CrtClient::PutBucketAcl, request, handler, context);
4356 }
4357
4409
4413 template<typename PutBucketAnalyticsConfigurationRequestT = Model::PutBucketAnalyticsConfigurationRequest>
4415 {
4416 return SubmitCallable(&S3CrtClient::PutBucketAnalyticsConfiguration, request);
4417 }
4418
4422 template<typename PutBucketAnalyticsConfigurationRequestT = Model::PutBucketAnalyticsConfigurationRequest>
4423 void PutBucketAnalyticsConfigurationAsync(const PutBucketAnalyticsConfigurationRequestT& request, const PutBucketAnalyticsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
4424 {
4425 return SubmitAsync(&S3CrtClient::PutBucketAnalyticsConfiguration, request, handler, context);
4426 }
4427
4470
4474 template<typename PutBucketCorsRequestT = Model::PutBucketCorsRequest>
4475 Model::PutBucketCorsOutcomeCallable PutBucketCorsCallable(const PutBucketCorsRequestT& request) const
4476 {
4477 return SubmitCallable(&S3CrtClient::PutBucketCors, request);
4478 }
4479
4483 template<typename PutBucketCorsRequestT = Model::PutBucketCorsRequest>
4484 void PutBucketCorsAsync(const PutBucketCorsRequestT& request, const PutBucketCorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
4485 {
4486 return SubmitAsync(&S3CrtClient::PutBucketCors, request, handler, context);
4487 }
4488
4596
4600 template<typename PutBucketEncryptionRequestT = Model::PutBucketEncryptionRequest>
4601 Model::PutBucketEncryptionOutcomeCallable PutBucketEncryptionCallable(const PutBucketEncryptionRequestT& request) const
4602 {
4603 return SubmitCallable(&S3CrtClient::PutBucketEncryption, request);
4604 }
4605
4609 template<typename PutBucketEncryptionRequestT = Model::PutBucketEncryptionRequest>
4610 void PutBucketEncryptionAsync(const PutBucketEncryptionRequestT& request, const PutBucketEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
4611 {
4612 return SubmitAsync(&S3CrtClient::PutBucketEncryption, request, handler, context);
4613 }
4614
4658
4662 template<typename PutBucketIntelligentTieringConfigurationRequestT = Model::PutBucketIntelligentTieringConfigurationRequest>
4664 {
4665 return SubmitCallable(&S3CrtClient::PutBucketIntelligentTieringConfiguration, request);
4666 }
4667
4671 template<typename PutBucketIntelligentTieringConfigurationRequestT = Model::PutBucketIntelligentTieringConfigurationRequest>
4672 void PutBucketIntelligentTieringConfigurationAsync(const PutBucketIntelligentTieringConfigurationRequestT& request, const PutBucketIntelligentTieringConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
4673 {
4674 return SubmitAsync(&S3CrtClient::PutBucketIntelligentTieringConfiguration, request, handler, context);
4675 }
4676
4741
4745 template<typename PutBucketInventoryConfigurationRequestT = Model::PutBucketInventoryConfigurationRequest>
4747 {
4748 return SubmitCallable(&S3CrtClient::PutBucketInventoryConfiguration, request);
4749 }
4750
4754 template<typename PutBucketInventoryConfigurationRequestT = Model::PutBucketInventoryConfigurationRequest>
4755 void PutBucketInventoryConfigurationAsync(const PutBucketInventoryConfigurationRequestT& request, const PutBucketInventoryConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
4756 {
4757 return SubmitAsync(&S3CrtClient::PutBucketInventoryConfiguration, request, handler, context);
4758 }
4759
4821
4825 template<typename PutBucketLifecycleConfigurationRequestT = Model::PutBucketLifecycleConfigurationRequest>
4827 {
4828 return SubmitCallable(&S3CrtClient::PutBucketLifecycleConfiguration, request);
4829 }
4830
4834 template<typename PutBucketLifecycleConfigurationRequestT = Model::PutBucketLifecycleConfigurationRequest>
4835 void PutBucketLifecycleConfigurationAsync(const PutBucketLifecycleConfigurationRequestT& request, const PutBucketLifecycleConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
4836 {
4837 return SubmitAsync(&S3CrtClient::PutBucketLifecycleConfiguration, request, handler, context);
4838 }
4839
4894
4898 template<typename PutBucketLoggingRequestT = Model::PutBucketLoggingRequest>
4899 Model::PutBucketLoggingOutcomeCallable PutBucketLoggingCallable(const PutBucketLoggingRequestT& request) const
4900 {
4901 return SubmitCallable(&S3CrtClient::PutBucketLogging, request);
4902 }
4903
4907 template<typename PutBucketLoggingRequestT = Model::PutBucketLoggingRequest>
4908 void PutBucketLoggingAsync(const PutBucketLoggingRequestT& request, const PutBucketLoggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
4909 {
4910 return SubmitAsync(&S3CrtClient::PutBucketLogging, request, handler, context);
4911 }
4912
4946
4950 template<typename PutBucketMetricsConfigurationRequestT = Model::PutBucketMetricsConfigurationRequest>
4951 Model::PutBucketMetricsConfigurationOutcomeCallable PutBucketMetricsConfigurationCallable(const PutBucketMetricsConfigurationRequestT& request) const
4952 {
4953 return SubmitCallable(&S3CrtClient::PutBucketMetricsConfiguration, request);
4954 }
4955
4959 template<typename PutBucketMetricsConfigurationRequestT = Model::PutBucketMetricsConfigurationRequest>
4960 void PutBucketMetricsConfigurationAsync(const PutBucketMetricsConfigurationRequestT& request, const PutBucketMetricsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
4961 {
4962 return SubmitAsync(&S3CrtClient::PutBucketMetricsConfiguration, request, handler, context);
4963 }
4964
5014
5018 template<typename PutBucketNotificationConfigurationRequestT = Model::PutBucketNotificationConfigurationRequest>
5020 {
5021 return SubmitCallable(&S3CrtClient::PutBucketNotificationConfiguration, request);
5022 }
5023
5027 template<typename PutBucketNotificationConfigurationRequestT = Model::PutBucketNotificationConfigurationRequest>
5028 void PutBucketNotificationConfigurationAsync(const PutBucketNotificationConfigurationRequestT& request, const PutBucketNotificationConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
5029 {
5030 return SubmitAsync(&S3CrtClient::PutBucketNotificationConfiguration, request, handler, context);
5031 }
5032
5051
5055 template<typename PutBucketOwnershipControlsRequestT = Model::PutBucketOwnershipControlsRequest>
5056 Model::PutBucketOwnershipControlsOutcomeCallable PutBucketOwnershipControlsCallable(const PutBucketOwnershipControlsRequestT& request) const
5057 {
5058 return SubmitCallable(&S3CrtClient::PutBucketOwnershipControls, request);
5059 }
5060
5064 template<typename PutBucketOwnershipControlsRequestT = Model::PutBucketOwnershipControlsRequest>
5065 void PutBucketOwnershipControlsAsync(const PutBucketOwnershipControlsRequestT& request, const PutBucketOwnershipControlsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
5066 {
5067 return SubmitAsync(&S3CrtClient::PutBucketOwnershipControls, request, handler, context);
5068 }
5069
5130
5134 template<typename PutBucketPolicyRequestT = Model::PutBucketPolicyRequest>
5135 Model::PutBucketPolicyOutcomeCallable PutBucketPolicyCallable(const PutBucketPolicyRequestT& request) const
5136 {
5137 return SubmitCallable(&S3CrtClient::PutBucketPolicy, request);
5138 }
5139
5143 template<typename PutBucketPolicyRequestT = Model::PutBucketPolicyRequest>
5144 void PutBucketPolicyAsync(const PutBucketPolicyRequestT& request, const PutBucketPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
5145 {
5146 return SubmitAsync(&S3CrtClient::PutBucketPolicy, request, handler, context);
5147 }
5148
5212
5216 template<typename PutBucketReplicationRequestT = Model::PutBucketReplicationRequest>
5217 Model::PutBucketReplicationOutcomeCallable PutBucketReplicationCallable(const PutBucketReplicationRequestT& request) const
5218 {
5219 return SubmitCallable(&S3CrtClient::PutBucketReplication, request);
5220 }
5221
5225 template<typename PutBucketReplicationRequestT = Model::PutBucketReplicationRequest>
5226 void PutBucketReplicationAsync(const PutBucketReplicationRequestT& request, const PutBucketReplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
5227 {
5228 return SubmitAsync(&S3CrtClient::PutBucketReplication, request, handler, context);
5229 }
5230
5248
5252 template<typename PutBucketRequestPaymentRequestT = Model::PutBucketRequestPaymentRequest>
5253 Model::PutBucketRequestPaymentOutcomeCallable PutBucketRequestPaymentCallable(const PutBucketRequestPaymentRequestT& request) const
5254 {
5255 return SubmitCallable(&S3CrtClient::PutBucketRequestPayment, request);
5256 }
5257
5261 template<typename PutBucketRequestPaymentRequestT = Model::PutBucketRequestPaymentRequest>
5262 void PutBucketRequestPaymentAsync(const PutBucketRequestPaymentRequestT& request, const PutBucketRequestPaymentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
5263 {
5264 return SubmitAsync(&S3CrtClient::PutBucketRequestPayment, request, handler, context);
5265 }
5266
5313
5317 template<typename PutBucketTaggingRequestT = Model::PutBucketTaggingRequest>
5318 Model::PutBucketTaggingOutcomeCallable PutBucketTaggingCallable(const PutBucketTaggingRequestT& request) const
5319 {
5320 return SubmitCallable(&S3CrtClient::PutBucketTagging, request);
5321 }
5322
5326 template<typename PutBucketTaggingRequestT = Model::PutBucketTaggingRequest>
5327 void PutBucketTaggingAsync(const PutBucketTaggingRequestT& request, const PutBucketTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
5328 {
5329 return SubmitAsync(&S3CrtClient::PutBucketTagging, request, handler, context);
5330 }
5331
5371
5375 template<typename PutBucketVersioningRequestT = Model::PutBucketVersioningRequest>
5376 Model::PutBucketVersioningOutcomeCallable PutBucketVersioningCallable(const PutBucketVersioningRequestT& request) const
5377 {
5378 return SubmitCallable(&S3CrtClient::PutBucketVersioning, request);
5379 }
5380
5384 template<typename PutBucketVersioningRequestT = Model::PutBucketVersioningRequest>
5385 void PutBucketVersioningAsync(const PutBucketVersioningRequestT& request, const PutBucketVersioningResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
5386 {
5387 return SubmitAsync(&S3CrtClient::PutBucketVersioning, request, handler, context);
5388 }
5389
5433
5437 template<typename PutBucketWebsiteRequestT = Model::PutBucketWebsiteRequest>
5438 Model::PutBucketWebsiteOutcomeCallable PutBucketWebsiteCallable(const PutBucketWebsiteRequestT& request) const
5439 {
5440 return SubmitCallable(&S3CrtClient::PutBucketWebsite, request);
5441 }
5442
5446 template<typename PutBucketWebsiteRequestT = Model::PutBucketWebsiteRequest>
5447 void PutBucketWebsiteAsync(const PutBucketWebsiteRequestT& request, const PutBucketWebsiteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
5448 {
5449 return SubmitAsync(&S3CrtClient::PutBucketWebsite, request, handler, context);
5450 }
5451
5538
5539
5543 virtual void PutObjectAsync(const Model::PutObjectRequest& request, const PutObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
5544
5643
5647 template<typename PutObjectAclRequestT = Model::PutObjectAclRequest>
5648 Model::PutObjectAclOutcomeCallable PutObjectAclCallable(const PutObjectAclRequestT& request) const
5649 {
5650 return SubmitCallable(&S3CrtClient::PutObjectAcl, request);
5651 }
5652
5656 template<typename PutObjectAclRequestT = Model::PutObjectAclRequest>
5657 void PutObjectAclAsync(const PutObjectAclRequestT& request, const PutObjectAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
5658 {
5659 return SubmitAsync(&S3CrtClient::PutObjectAcl, request, handler, context);
5660 }
5661
5673
5677 template<typename PutObjectLegalHoldRequestT = Model::PutObjectLegalHoldRequest>
5678 Model::PutObjectLegalHoldOutcomeCallable PutObjectLegalHoldCallable(const PutObjectLegalHoldRequestT& request) const
5679 {
5680 return SubmitCallable(&S3CrtClient::PutObjectLegalHold, request);
5681 }
5682
5686 template<typename PutObjectLegalHoldRequestT = Model::PutObjectLegalHoldRequest>
5687 void PutObjectLegalHoldAsync(const PutObjectLegalHoldRequestT& request, const PutObjectLegalHoldResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
5688 {
5689 return SubmitAsync(&S3CrtClient::PutObjectLegalHold, request, handler, context);
5690 }
5691
5710
5714 template<typename PutObjectLockConfigurationRequestT = Model::PutObjectLockConfigurationRequest>
5715 Model::PutObjectLockConfigurationOutcomeCallable PutObjectLockConfigurationCallable(const PutObjectLockConfigurationRequestT& request) const
5716 {
5717 return SubmitCallable(&S3CrtClient::PutObjectLockConfiguration, request);
5718 }
5719
5723 template<typename PutObjectLockConfigurationRequestT = Model::PutObjectLockConfigurationRequest>
5724 void PutObjectLockConfigurationAsync(const PutObjectLockConfigurationRequestT& request, const PutObjectLockConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
5725 {
5726 return SubmitAsync(&S3CrtClient::PutObjectLockConfiguration, request, handler, context);
5727 }
5728
5743
5747 template<typename PutObjectRetentionRequestT = Model::PutObjectRetentionRequest>
5748 Model::PutObjectRetentionOutcomeCallable PutObjectRetentionCallable(const PutObjectRetentionRequestT& request) const
5749 {
5750 return SubmitCallable(&S3CrtClient::PutObjectRetention, request);
5751 }
5752
5756 template<typename PutObjectRetentionRequestT = Model::PutObjectRetentionRequest>
5757 void PutObjectRetentionAsync(const PutObjectRetentionRequestT& request, const PutObjectRetentionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
5758 {
5759 return SubmitAsync(&S3CrtClient::PutObjectRetention, request, handler, context);
5760 }
5761
5801
5805 template<typename PutObjectTaggingRequestT = Model::PutObjectTaggingRequest>
5806 Model::PutObjectTaggingOutcomeCallable PutObjectTaggingCallable(const PutObjectTaggingRequestT& request) const
5807 {
5808 return SubmitCallable(&S3CrtClient::PutObjectTagging, request);
5809 }
5810
5814 template<typename PutObjectTaggingRequestT = Model::PutObjectTaggingRequest>
5815 void PutObjectTaggingAsync(const PutObjectTaggingRequestT& request, const PutObjectTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
5816 {
5817 return SubmitAsync(&S3CrtClient::PutObjectTagging, request, handler, context);
5818 }
5819
5850
5854 template<typename PutPublicAccessBlockRequestT = Model::PutPublicAccessBlockRequest>
5855 Model::PutPublicAccessBlockOutcomeCallable PutPublicAccessBlockCallable(const PutPublicAccessBlockRequestT& request) const
5856 {
5857 return SubmitCallable(&S3CrtClient::PutPublicAccessBlock, request);
5858 }
5859
5863 template<typename PutPublicAccessBlockRequestT = Model::PutPublicAccessBlockRequest>
5864 void PutPublicAccessBlockAsync(const PutPublicAccessBlockRequestT& request, const PutPublicAccessBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
5865 {
5866 return SubmitAsync(&S3CrtClient::PutPublicAccessBlock, request, handler, context);
5867 }
5868
5989
5993 template<typename RestoreObjectRequestT = Model::RestoreObjectRequest>
5994 Model::RestoreObjectOutcomeCallable RestoreObjectCallable(const RestoreObjectRequestT& request) const
5995 {
5996 return SubmitCallable(&S3CrtClient::RestoreObject, request);
5997 }
5998
6002 template<typename RestoreObjectRequestT = Model::RestoreObjectRequest>
6003 void RestoreObjectAsync(const RestoreObjectRequestT& request, const RestoreObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
6004 {
6005 return SubmitAsync(&S3CrtClient::RestoreObject, request, handler, context);
6006 }
6007
6089
6093 template<typename SelectObjectContentRequestT = Model::SelectObjectContentRequest>
6095 {
6096 return SubmitCallable(&S3CrtClient::SelectObjectContent, request);
6097 }
6098
6102 template<typename SelectObjectContentRequestT = Model::SelectObjectContentRequest>
6103 void SelectObjectContentAsync(SelectObjectContentRequestT& request, const SelectObjectContentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
6104 {
6105 return SubmitAsync(&S3CrtClient::SelectObjectContent, request, handler, context);
6106 }
6107
6244
6248 template<typename UploadPartRequestT = Model::UploadPartRequest>
6249 Model::UploadPartOutcomeCallable UploadPartCallable(const UploadPartRequestT& request) const
6250 {
6251 return SubmitCallable(&S3CrtClient::UploadPart, request);
6252 }
6253
6257 template<typename UploadPartRequestT = Model::UploadPartRequest>
6258 void UploadPartAsync(const UploadPartRequestT& request, const UploadPartResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
6259 {
6260 return SubmitAsync(&S3CrtClient::UploadPart, request, handler, context);
6261 }
6262
6406
6410 template<typename UploadPartCopyRequestT = Model::UploadPartCopyRequest>
6411 Model::UploadPartCopyOutcomeCallable UploadPartCopyCallable(const UploadPartCopyRequestT& request) const
6412 {
6413 return SubmitCallable(&S3CrtClient::UploadPartCopy, request);
6414 }
6415
6419 template<typename UploadPartCopyRequestT = Model::UploadPartCopyRequest>
6420 void UploadPartCopyAsync(const UploadPartCopyRequestT& request, const UploadPartCopyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
6421 {
6422 return SubmitAsync(&S3CrtClient::UploadPartCopy, request, handler, context);
6423 }
6424
6473
6477 template<typename WriteGetObjectResponseRequestT = Model::WriteGetObjectResponseRequest>
6478 Model::WriteGetObjectResponseOutcomeCallable WriteGetObjectResponseCallable(const WriteGetObjectResponseRequestT& request) const
6479 {
6480 return SubmitCallable(&S3CrtClient::WriteGetObjectResponse, request);
6481 }
6482
6486 template<typename WriteGetObjectResponseRequestT = Model::WriteGetObjectResponseRequest>
6487 void WriteGetObjectResponseAsync(const WriteGetObjectResponseRequestT& request, const WriteGetObjectResponseResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
6488 {
6489 return SubmitAsync(&S3CrtClient::WriteGetObjectResponse, request, handler, context);
6490 }
6491
6492
6494 const Aws::String& key,
6495 Aws::Http::HttpMethod method,
6496 uint64_t expirationInSeconds = MAX_EXPIRATION_SECONDS);
6497
6499 const Aws::String& key,
6500 Aws::Http::HttpMethod method,
6501 const Http::HeaderValueCollection& customizedHeaders,
6502 uint64_t expirationInSeconds = MAX_EXPIRATION_SECONDS);
6503
6516 const Aws::String& key,
6517 Aws::Http::HttpMethod method,
6518 uint64_t expirationInSeconds = MAX_EXPIRATION_SECONDS);
6525 const Aws::String& key,
6526 Aws::Http::HttpMethod method,
6527 Http::HeaderValueCollection customizedHeaders,
6528 uint64_t expirationInSeconds = MAX_EXPIRATION_SECONDS);
6529
6536 const Aws::String& key,
6537 Aws::Http::HttpMethod method,
6538 const Aws::String& kmsMasterKeyId = "",
6539 uint64_t expirationInSeconds = MAX_EXPIRATION_SECONDS);
6547 const Aws::String& key,
6548 Aws::Http::HttpMethod method,
6549 Http::HeaderValueCollection customizedHeaders,
6550 const Aws::String& kmsMasterKeyId = "",
6551 uint64_t expirationInSeconds = MAX_EXPIRATION_SECONDS);
6552
6558 const Aws::String& key,
6559 Aws::Http::HttpMethod method,
6560 const Aws::String& base64EncodedAES256Key,
6561 uint64_t expirationInSeconds = MAX_EXPIRATION_SECONDS);
6568 const Aws::String& key,
6569 Aws::Http::HttpMethod method,
6570 Http::HeaderValueCollection customizedHeaders,
6571 const Aws::String& base64EncodedAES256Key,
6572 uint64_t expirationInSeconds = MAX_EXPIRATION_SECONDS);
6573
6574
6575 virtual bool MultipartUploadSupported() const;
6576
6577 void OverrideEndpoint(const Aws::String& endpoint);
6578 std::shared_ptr<S3CrtEndpointProviderBase>& accessEndpointProvider();
6579
6580
6586 std::shared_ptr<const Aws::Client::AsyncCallerContext> asyncCallerContext;
6588 std::shared_ptr<Aws::Http::HttpRequest> request;
6589 std::shared_ptr<Aws::Http::HttpResponse> response;
6590 std::shared_ptr<Aws::Crt::Http::HttpRequest> crtHttpRequest;
6592 };
6593
6594 Aws::Client::XmlOutcome GenerateXmlOutcome(const std::shared_ptr<Http::HttpResponse>& response) const;
6595 Aws::Client::StreamOutcome GenerateStreamOutcome(const std::shared_ptr<Http::HttpResponse>& response) const;
6596
6597 private:
6599 void init(const S3Crt::ClientConfiguration& clientConfiguration,
6600 const std::shared_ptr<Aws::Auth::AWSCredentialsProvider> credentialsProvider);
6601
6602 struct CrtClientShutdownCallbackDataWrapper {
6603 void *data;
6604 std::function<void(void*)> fn;
6605 std::shared_ptr<Aws::Utils::Threading::Semaphore> clientShutdownSem;
6606 };
6607
6608 static void CrtClientShutdownCallback(void *data) {
6609 auto *wrappedData = static_cast<CrtClientShutdownCallbackDataWrapper*>(data);
6610 if (wrappedData->fn)
6611 {
6612 wrappedData->fn(wrappedData->data);
6613 }
6614 wrappedData->clientShutdownSem->Release();
6615 }
6616
6617 void InitCrtEndpointFromUri(aws_uri &endpoint_uri, const Aws::Http::URI &uri) const;
6618
6619 void InitCommonCrtRequestOption(CrtRequestCallbackUserData *userData,
6620 aws_s3_meta_request_options *options,
6621 const Aws::AmazonWebServiceRequest *request,
6622 const Aws::Http::URI &uri, Aws::Http::HttpMethod method) const;
6623 S3Crt::ClientConfiguration m_clientConfiguration;
6624 struct aws_s3_client* m_s3CrtClient = {};
6625 struct aws_signing_config_aws m_s3CrtSigningConfig = {};
6626 struct CrtClientShutdownCallbackDataWrapper m_wrappedData = {};
6627 std::shared_ptr<Aws::Utils::Threading::Semaphore> m_clientShutdownSem;
6628 std::shared_ptr<Aws::Auth::AWSCredentialsProvider> m_credProvider;
6629 std::shared_ptr<Aws::Crt::Auth::ICredentialsProvider> m_crtCredProvider;
6630 std::shared_ptr<S3CrtEndpointProviderBase> m_endpointProvider;
6631 std::shared_ptr<S3ExpressIdentityProvider> m_identityProvider;
6632 S3CrtIdentityProviderUserData m_identityProviderUserData{m_identityProvider};
6633 };
6634
6635 } // namespace S3Crt
6636} // namespace Aws
virtual Model::GetPublicAccessBlockOutcome GetPublicAccessBlock(const Model::GetPublicAccessBlockRequest &request) const
Model::GetBucketCorsOutcomeCallable GetBucketCorsCallable(const GetBucketCorsRequestT &request) const
virtual Model::GetBucketPolicyOutcome GetBucketPolicy(const Model::GetBucketPolicyRequest &request) const
void HeadObjectAsync(const HeadObjectRequestT &request, const HeadObjectResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void PutObjectTaggingAsync(const PutObjectTaggingRequestT &request, const PutObjectTaggingResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual bool MultipartUploadSupported() const
Model::GetBucketIntelligentTieringConfigurationOutcomeCallable GetBucketIntelligentTieringConfigurationCallable(const GetBucketIntelligentTieringConfigurationRequestT &request) const
Model::PutBucketCorsOutcomeCallable PutBucketCorsCallable(const PutBucketCorsRequestT &request) const
Model::GetObjectAclOutcomeCallable GetObjectAclCallable(const GetObjectAclRequestT &request) const
virtual Model::GetObjectLegalHoldOutcome GetObjectLegalHold(const Model::GetObjectLegalHoldRequest &request) const
virtual Model::CopyObjectOutcome CopyObject(const Model::CopyObjectRequest &request) const
void GetBucketEncryptionAsync(const GetBucketEncryptionRequestT &request, const GetBucketEncryptionResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::PutPublicAccessBlockOutcomeCallable PutPublicAccessBlockCallable(const PutPublicAccessBlockRequestT &request) const
void PutPublicAccessBlockAsync(const PutPublicAccessBlockRequestT &request, const PutPublicAccessBlockResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::PutBucketMetricsConfigurationOutcome PutBucketMetricsConfiguration(const Model::PutBucketMetricsConfigurationRequest &request) const
virtual Model::ListObjectsOutcome ListObjects(const Model::ListObjectsRequest &request) const
void ListPartsAsync(const ListPartsRequestT &request, const ListPartsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::PutObjectRetentionOutcomeCallable PutObjectRetentionCallable(const PutObjectRetentionRequestT &request) const
Model::ListDirectoryBucketsOutcomeCallable ListDirectoryBucketsCallable(const ListDirectoryBucketsRequestT &request={}) const
void GetObjectAclAsync(const GetObjectAclRequestT &request, const GetObjectAclResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::UploadPartOutcome UploadPart(const Model::UploadPartRequest &request) const
virtual Model::CompleteMultipartUploadOutcome CompleteMultipartUpload(const Model::CompleteMultipartUploadRequest &request) const
Model::PutObjectTaggingOutcomeCallable PutObjectTaggingCallable(const PutObjectTaggingRequestT &request) const
void GetBucketCorsAsync(const GetBucketCorsRequestT &request, const GetBucketCorsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::PutBucketIntelligentTieringConfigurationOutcomeCallable PutBucketIntelligentTieringConfigurationCallable(const PutBucketIntelligentTieringConfigurationRequestT &request) const
Model::DeleteBucketPolicyOutcomeCallable DeleteBucketPolicyCallable(const DeleteBucketPolicyRequestT &request) const
void DeleteBucketTaggingAsync(const DeleteBucketTaggingRequestT &request, const DeleteBucketTaggingResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Aws::Client::AWSXMLClient BASECLASS
Definition S3CrtClient.h:57
void ListObjectVersionsAsync(const ListObjectVersionsRequestT &request, const ListObjectVersionsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void PutBucketLoggingAsync(const PutBucketLoggingRequestT &request, const PutBucketLoggingResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::PutObjectRetentionOutcome PutObjectRetention(const Model::PutObjectRetentionRequest &request) const
void AbortMultipartUploadAsync(const AbortMultipartUploadRequestT &request, const AbortMultipartUploadResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::PutObjectTaggingOutcome PutObjectTagging(const Model::PutObjectTaggingRequest &request) const
static const char * GetAllocationTag()
Aws::String GeneratePresignedUrl(const Aws::String &bucket, const Aws::String &key, Aws::Http::HttpMethod method, uint64_t 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)
Model::DeleteObjectOutcomeCallable DeleteObjectCallable(const DeleteObjectRequestT &request) const
void CompleteMultipartUploadAsync(const CompleteMultipartUploadRequestT &request, const CompleteMultipartUploadResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::GetObjectTorrentOutcome GetObjectTorrent(const Model::GetObjectTorrentRequest &request) const
void DeleteObjectTaggingAsync(const DeleteObjectTaggingRequestT &request, const DeleteObjectTaggingResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void DeleteBucketOwnershipControlsAsync(const DeleteBucketOwnershipControlsRequestT &request, const DeleteBucketOwnershipControlsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void GetBucketIntelligentTieringConfigurationAsync(const GetBucketIntelligentTieringConfigurationRequestT &request, const GetBucketIntelligentTieringConfigurationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void DeleteObjectAsync(const DeleteObjectRequestT &request, const DeleteObjectResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::GetBucketAnalyticsConfigurationOutcomeCallable GetBucketAnalyticsConfigurationCallable(const GetBucketAnalyticsConfigurationRequestT &request) const
void UploadPartAsync(const UploadPartRequestT &request, const UploadPartResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual void GetObjectAsync(const Model::GetObjectRequest &request, const GetObjectResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void ListObjectsAsync(const ListObjectsRequestT &request, const ListObjectsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::DeleteObjectTaggingOutcomeCallable DeleteObjectTaggingCallable(const DeleteObjectTaggingRequestT &request) const
void ListBucketsAsync(const ListBucketsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr, const ListBucketsRequestT &request={}) const
virtual Model::DeleteBucketInventoryConfigurationOutcome DeleteBucketInventoryConfiguration(const Model::DeleteBucketInventoryConfigurationRequest &request) const
Model::DeleteBucketEncryptionOutcomeCallable DeleteBucketEncryptionCallable(const DeleteBucketEncryptionRequestT &request) const
virtual Model::GetBucketCorsOutcome GetBucketCors(const Model::GetBucketCorsRequest &request) const
virtual Model::DeleteBucketOwnershipControlsOutcome DeleteBucketOwnershipControls(const Model::DeleteBucketOwnershipControlsRequest &request) const
void GetBucketPolicyStatusAsync(const GetBucketPolicyStatusRequestT &request, const GetBucketPolicyStatusResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::DeleteBucketWebsiteOutcome DeleteBucketWebsite(const Model::DeleteBucketWebsiteRequest &request) const
Model::PutBucketPolicyOutcomeCallable PutBucketPolicyCallable(const PutBucketPolicyRequestT &request) const
Model::UploadPartOutcomeCallable UploadPartCallable(const UploadPartRequestT &request) const
virtual Model::UploadPartCopyOutcome UploadPartCopy(const Model::UploadPartCopyRequest &request) const
virtual Model::DeleteBucketEncryptionOutcome DeleteBucketEncryption(const Model::DeleteBucketEncryptionRequest &request) const
Model::RestoreObjectOutcomeCallable RestoreObjectCallable(const RestoreObjectRequestT &request) const
Model::PutObjectAclOutcomeCallable PutObjectAclCallable(const PutObjectAclRequestT &request) const
Model::ListBucketMetricsConfigurationsOutcomeCallable ListBucketMetricsConfigurationsCallable(const ListBucketMetricsConfigurationsRequestT &request) const
Model::PutBucketInventoryConfigurationOutcomeCallable PutBucketInventoryConfigurationCallable(const PutBucketInventoryConfigurationRequestT &request) const
Model::PutObjectLockConfigurationOutcomeCallable PutObjectLockConfigurationCallable(const PutObjectLockConfigurationRequestT &request) const
Model::DeleteObjectsOutcomeCallable DeleteObjectsCallable(const DeleteObjectsRequestT &request) const
virtual Model::DeleteObjectsOutcome DeleteObjects(const Model::DeleteObjectsRequest &request) const
void PutBucketVersioningAsync(const PutBucketVersioningRequestT &request, const PutBucketVersioningResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::GetObjectRetentionOutcomeCallable GetObjectRetentionCallable(const GetObjectRetentionRequestT &request) const
void GetObjectAttributesAsync(const GetObjectAttributesRequestT &request, const GetObjectAttributesResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::ListBucketIntelligentTieringConfigurationsOutcomeCallable ListBucketIntelligentTieringConfigurationsCallable(const ListBucketIntelligentTieringConfigurationsRequestT &request) const
void PutBucketMetricsConfigurationAsync(const PutBucketMetricsConfigurationRequestT &request, const PutBucketMetricsConfigurationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::PutBucketNotificationConfigurationOutcome PutBucketNotificationConfiguration(const Model::PutBucketNotificationConfigurationRequest &request) const
Model::GetBucketAclOutcomeCallable GetBucketAclCallable(const GetBucketAclRequestT &request) const
Model::DeleteBucketIntelligentTieringConfigurationOutcomeCallable DeleteBucketIntelligentTieringConfigurationCallable(const DeleteBucketIntelligentTieringConfigurationRequestT &request) const
void GetBucketOwnershipControlsAsync(const GetBucketOwnershipControlsRequestT &request, const GetBucketOwnershipControlsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
static const char * GetServiceName()
S3CrtClient & operator=(const S3CrtClient &rhs)
Model::DeleteBucketInventoryConfigurationOutcomeCallable DeleteBucketInventoryConfigurationCallable(const DeleteBucketInventoryConfigurationRequestT &request) const
Model::PutBucketWebsiteOutcomeCallable PutBucketWebsiteCallable(const PutBucketWebsiteRequestT &request) const
Model::CreateMultipartUploadOutcomeCallable CreateMultipartUploadCallable(const CreateMultipartUploadRequestT &request) const
virtual Model::PutBucketRequestPaymentOutcome PutBucketRequestPayment(const Model::PutBucketRequestPaymentRequest &request) const
void PutBucketWebsiteAsync(const PutBucketWebsiteRequestT &request, const PutBucketWebsiteResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::ListObjectsV2OutcomeCallable ListObjectsV2Callable(const ListObjectsV2RequestT &request) const
virtual Model::PutBucketIntelligentTieringConfigurationOutcome PutBucketIntelligentTieringConfiguration(const Model::PutBucketIntelligentTieringConfigurationRequest &request) const
virtual Model::ListPartsOutcome ListParts(const Model::ListPartsRequest &request) const
void PutBucketReplicationAsync(const PutBucketReplicationRequestT &request, const PutBucketReplicationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void CreateSessionAsync(const CreateSessionRequestT &request, const CreateSessionResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void WriteGetObjectResponseAsync(const WriteGetObjectResponseRequestT &request, const WriteGetObjectResponseResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void RestoreObjectAsync(const RestoreObjectRequestT &request, const RestoreObjectResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
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)
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 Model::PutBucketInventoryConfigurationOutcome PutBucketInventoryConfiguration(const Model::PutBucketInventoryConfigurationRequest &request) const
void GetBucketLifecycleConfigurationAsync(const GetBucketLifecycleConfigurationRequestT &request, const GetBucketLifecycleConfigurationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::HeadObjectOutcome HeadObject(const Model::HeadObjectRequest &request) const
Model::ListBucketInventoryConfigurationsOutcomeCallable ListBucketInventoryConfigurationsCallable(const ListBucketInventoryConfigurationsRequestT &request) const
void GetBucketAccelerateConfigurationAsync(const GetBucketAccelerateConfigurationRequestT &request, const GetBucketAccelerateConfigurationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void ListBucketInventoryConfigurationsAsync(const ListBucketInventoryConfigurationsRequestT &request, const ListBucketInventoryConfigurationsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::DeleteBucketIntelligentTieringConfigurationOutcome DeleteBucketIntelligentTieringConfiguration(const Model::DeleteBucketIntelligentTieringConfigurationRequest &request) const
void DeleteBucketEncryptionAsync(const DeleteBucketEncryptionRequestT &request, const DeleteBucketEncryptionResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void DeleteBucketCorsAsync(const DeleteBucketCorsRequestT &request, const DeleteBucketCorsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::GetBucketLifecycleConfigurationOutcome GetBucketLifecycleConfiguration(const Model::GetBucketLifecycleConfigurationRequest &request) const
Model::HeadBucketOutcomeCallable HeadBucketCallable(const HeadBucketRequestT &request) const
Model::GetBucketRequestPaymentOutcomeCallable GetBucketRequestPaymentCallable(const GetBucketRequestPaymentRequestT &request) const
Model::ListObjectVersionsOutcomeCallable ListObjectVersionsCallable(const ListObjectVersionsRequestT &request) const
Aws::Client::XmlOutcome GenerateXmlOutcome(const std::shared_ptr< Http::HttpResponse > &response) const
virtual Model::GetObjectOutcome GetObject(const Model::GetObjectRequest &request) const
Model::GetBucketVersioningOutcomeCallable GetBucketVersioningCallable(const GetBucketVersioningRequestT &request) const
S3CrtClient(const Aws::S3Crt::ClientConfiguration &clientConfiguration=Aws::S3Crt::ClientConfiguration(), Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads=Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::Never, bool useVirtualAddressing=true, Aws::S3Crt::US_EAST_1_REGIONAL_ENDPOINT_OPTION USEast1RegionalEndPointOption=Aws::S3Crt::US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET, const Aws::Auth::DefaultAWSCredentialsProviderChain &credentialsProvider=Aws::Auth::DefaultAWSCredentialsProviderChain())
S3CrtClient(const S3CrtClient &rhs)
Model::DeleteBucketOwnershipControlsOutcomeCallable DeleteBucketOwnershipControlsCallable(const DeleteBucketOwnershipControlsRequestT &request) const
void GetBucketReplicationAsync(const GetBucketReplicationRequestT &request, const GetBucketReplicationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void PutObjectAclAsync(const PutObjectAclRequestT &request, const PutObjectAclResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void DeleteBucketPolicyAsync(const DeleteBucketPolicyRequestT &request, const DeleteBucketPolicyResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::GetBucketReplicationOutcomeCallable GetBucketReplicationCallable(const GetBucketReplicationRequestT &request) const
Model::GetObjectTaggingOutcomeCallable GetObjectTaggingCallable(const GetObjectTaggingRequestT &request) const
virtual Model::ListObjectVersionsOutcome ListObjectVersions(const Model::ListObjectVersionsRequest &request) const
virtual Model::PutBucketLifecycleConfigurationOutcome PutBucketLifecycleConfiguration(const Model::PutBucketLifecycleConfigurationRequest &request) const
Aws::String GeneratePresignedUrlWithSSES3(const Aws::String &bucket, const Aws::String &key, Aws::Http::HttpMethod method, Http::HeaderValueCollection customizedHeaders, 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, uint64_t expirationInSeconds=MAX_EXPIRATION_SECONDS)
virtual Model::DeleteBucketReplicationOutcome DeleteBucketReplication(const Model::DeleteBucketReplicationRequest &request) const
void PutObjectLockConfigurationAsync(const PutObjectLockConfigurationRequestT &request, const PutObjectLockConfigurationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void GetObjectRetentionAsync(const GetObjectRetentionRequestT &request, const GetObjectRetentionResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void PutObjectLegalHoldAsync(const PutObjectLegalHoldRequestT &request, const PutObjectLegalHoldResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void OverrideEndpoint(const Aws::String &endpoint)
Model::GetBucketMetricsConfigurationOutcomeCallable GetBucketMetricsConfigurationCallable(const GetBucketMetricsConfigurationRequestT &request) const
virtual Model::DeletePublicAccessBlockOutcome DeletePublicAccessBlock(const Model::DeletePublicAccessBlockRequest &request) const
void ListBucketMetricsConfigurationsAsync(const ListBucketMetricsConfigurationsRequestT &request, const ListBucketMetricsConfigurationsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual void CopyObjectAsync(const Model::CopyObjectRequest &request, const CopyObjectResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::GetBucketMetricsConfigurationOutcome GetBucketMetricsConfiguration(const Model::GetBucketMetricsConfigurationRequest &request) const
Model::DeleteBucketLifecycleOutcomeCallable DeleteBucketLifecycleCallable(const DeleteBucketLifecycleRequestT &request) const
virtual Model::DeleteBucketCorsOutcome DeleteBucketCors(const Model::DeleteBucketCorsRequest &request) const
Model::GetObjectLegalHoldOutcomeCallable GetObjectLegalHoldCallable(const GetObjectLegalHoldRequestT &request) const
Model::SelectObjectContentOutcomeCallable SelectObjectContentCallable(SelectObjectContentRequestT &request) const
Model::DeleteBucketCorsOutcomeCallable DeleteBucketCorsCallable(const DeleteBucketCorsRequestT &request) const
virtual Model::DeleteObjectOutcome DeleteObject(const Model::DeleteObjectRequest &request) const
Model::GetBucketOwnershipControlsOutcomeCallable GetBucketOwnershipControlsCallable(const GetBucketOwnershipControlsRequestT &request) const
Model::PutBucketEncryptionOutcomeCallable PutBucketEncryptionCallable(const PutBucketEncryptionRequestT &request) const
void GetBucketAnalyticsConfigurationAsync(const GetBucketAnalyticsConfigurationRequestT &request, const GetBucketAnalyticsConfigurationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::GetBucketInventoryConfigurationOutcome GetBucketInventoryConfiguration(const Model::GetBucketInventoryConfigurationRequest &request) const
void PutBucketTaggingAsync(const PutBucketTaggingRequestT &request, const PutBucketTaggingResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void DeleteBucketLifecycleAsync(const DeleteBucketLifecycleRequestT &request, const DeleteBucketLifecycleResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::GetObjectAttributesOutcomeCallable GetObjectAttributesCallable(const GetObjectAttributesRequestT &request) const
virtual Model::GetBucketAccelerateConfigurationOutcome GetBucketAccelerateConfiguration(const Model::GetBucketAccelerateConfigurationRequest &request) const
void UploadPartCopyAsync(const UploadPartCopyRequestT &request, const UploadPartCopyResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::PutBucketAccelerateConfigurationOutcomeCallable PutBucketAccelerateConfigurationCallable(const PutBucketAccelerateConfigurationRequestT &request) const
S3CrtClientConfiguration ClientConfigurationType
Definition S3CrtClient.h:61
virtual Model::DeleteObjectTaggingOutcome DeleteObjectTagging(const Model::DeleteObjectTaggingRequest &request) const
virtual Model::ListDirectoryBucketsOutcome ListDirectoryBuckets(const Model::ListDirectoryBucketsRequest &request={}) const
void GetBucketWebsiteAsync(const GetBucketWebsiteRequestT &request, const GetBucketWebsiteResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual void PutObjectAsync(const Model::PutObjectRequest &request, const PutObjectResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::GetObjectAclOutcome GetObjectAcl(const Model::GetObjectAclRequest &request) const
virtual Model::PutBucketAccelerateConfigurationOutcome PutBucketAccelerateConfiguration(const Model::PutBucketAccelerateConfigurationRequest &request) const
void PutBucketEncryptionAsync(const PutBucketEncryptionRequestT &request, const PutBucketEncryptionResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::ListBucketInventoryConfigurationsOutcome ListBucketInventoryConfigurations(const Model::ListBucketInventoryConfigurationsRequest &request) const
void GetBucketLoggingAsync(const GetBucketLoggingRequestT &request, const GetBucketLoggingResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void GetBucketRequestPaymentAsync(const GetBucketRequestPaymentRequestT &request, const GetBucketRequestPaymentResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::GetBucketVersioningOutcome GetBucketVersioning(const Model::GetBucketVersioningRequest &request) const
Model::GetBucketAccelerateConfigurationOutcomeCallable GetBucketAccelerateConfigurationCallable(const GetBucketAccelerateConfigurationRequestT &request) const
Model::PutBucketRequestPaymentOutcomeCallable PutBucketRequestPaymentCallable(const PutBucketRequestPaymentRequestT &request) const
virtual Model::DeleteBucketOutcome DeleteBucket(const Model::DeleteBucketRequest &request) const
void ListBucketAnalyticsConfigurationsAsync(const ListBucketAnalyticsConfigurationsRequestT &request, const ListBucketAnalyticsConfigurationsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void ListDirectoryBucketsAsync(const ListDirectoryBucketsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr, const ListDirectoryBucketsRequestT &request={}) const
virtual Model::PutBucketPolicyOutcome PutBucketPolicy(const Model::PutBucketPolicyRequest &request) const
void ListMultipartUploadsAsync(const ListMultipartUploadsRequestT &request, const ListMultipartUploadsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::PutObjectOutcome PutObject(const Model::PutObjectRequest &request) const
void GetObjectLegalHoldAsync(const GetObjectLegalHoldRequestT &request, const GetObjectLegalHoldResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
S3CrtClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, const Aws::S3Crt::ClientConfiguration &clientConfiguration=Aws::S3Crt::ClientConfiguration(), Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads=Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::Never, bool useVirtualAddressing=true, Aws::S3Crt::US_EAST_1_REGIONAL_ENDPOINT_OPTION USEast1RegionalEndPointOption=Aws::S3Crt::US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET)
virtual Model::ListBucketAnalyticsConfigurationsOutcome ListBucketAnalyticsConfigurations(const Model::ListBucketAnalyticsConfigurationsRequest &request) const
virtual Model::CreateMultipartUploadOutcome CreateMultipartUpload(const Model::CreateMultipartUploadRequest &request) const
void DeleteBucketAsync(const DeleteBucketRequestT &request, const DeleteBucketResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::GetBucketLifecycleConfigurationOutcomeCallable GetBucketLifecycleConfigurationCallable(const GetBucketLifecycleConfigurationRequestT &request) const
void DeleteBucketInventoryConfigurationAsync(const DeleteBucketInventoryConfigurationRequestT &request, const DeleteBucketInventoryConfigurationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::GetBucketAclOutcome GetBucketAcl(const Model::GetBucketAclRequest &request) const
void PutBucketAnalyticsConfigurationAsync(const PutBucketAnalyticsConfigurationRequestT &request, const PutBucketAnalyticsConfigurationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::ListBucketsOutcomeCallable ListBucketsCallable(const ListBucketsRequestT &request={}) const
virtual Model::PutBucketEncryptionOutcome PutBucketEncryption(const Model::PutBucketEncryptionRequest &request) const
virtual Model::WriteGetObjectResponseOutcome WriteGetObjectResponse(const Model::WriteGetObjectResponseRequest &request) const
Model::DeleteBucketMetricsConfigurationOutcomeCallable DeleteBucketMetricsConfigurationCallable(const DeleteBucketMetricsConfigurationRequestT &request) const
virtual Model::GetBucketLocationOutcome GetBucketLocation(const Model::GetBucketLocationRequest &request) const
virtual Model::DeleteBucketPolicyOutcome DeleteBucketPolicy(const Model::DeleteBucketPolicyRequest &request) const
virtual Model::HeadBucketOutcome HeadBucket(const Model::HeadBucketRequest &request) const
Model::AbortMultipartUploadOutcomeCallable AbortMultipartUploadCallable(const AbortMultipartUploadRequestT &request) const
Model::PutBucketTaggingOutcomeCallable PutBucketTaggingCallable(const PutBucketTaggingRequestT &request) const
Model::DeletePublicAccessBlockOutcomeCallable DeletePublicAccessBlockCallable(const DeletePublicAccessBlockRequestT &request) const
void CreateMultipartUploadAsync(const CreateMultipartUploadRequestT &request, const CreateMultipartUploadResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void PutBucketAclAsync(const PutBucketAclRequestT &request, const PutBucketAclResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Aws::String GeneratePresignedUrlWithSSES3(const Aws::String &bucket, const Aws::String &key, Aws::Http::HttpMethod method, uint64_t expirationInSeconds=MAX_EXPIRATION_SECONDS)
virtual Model::PutObjectLockConfigurationOutcome PutObjectLockConfiguration(const Model::PutObjectLockConfigurationRequest &request) const
void DeleteBucketMetricsConfigurationAsync(const DeleteBucketMetricsConfigurationRequestT &request, const DeleteBucketMetricsConfigurationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::CreateSessionOutcome CreateSession(const Model::CreateSessionRequest &request) const
Model::HeadObjectOutcomeCallable HeadObjectCallable(const HeadObjectRequestT &request) const
virtual Model::PutBucketAclOutcome PutBucketAcl(const Model::PutBucketAclRequest &request) const
virtual Model::AbortMultipartUploadOutcome AbortMultipartUpload(const Model::AbortMultipartUploadRequest &request) const
void PutObjectRetentionAsync(const PutObjectRetentionRequestT &request, const PutObjectRetentionResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::PutBucketOwnershipControlsOutcome PutBucketOwnershipControls(const Model::PutBucketOwnershipControlsRequest &request) const
Model::GetObjectTorrentOutcomeCallable GetObjectTorrentCallable(const GetObjectTorrentRequestT &request) const
virtual Model::GetBucketEncryptionOutcome GetBucketEncryption(const Model::GetBucketEncryptionRequest &request) const
S3CrtEndpointProvider EndpointProviderType
Definition S3CrtClient.h:62
Model::ListMultipartUploadsOutcomeCallable ListMultipartUploadsCallable(const ListMultipartUploadsRequestT &request) const
virtual Model::RestoreObjectOutcome RestoreObject(const Model::RestoreObjectRequest &request) const
Model::CreateSessionOutcomeCallable CreateSessionCallable(const CreateSessionRequestT &request) const
virtual Model::PutObjectLegalHoldOutcome PutObjectLegalHold(const Model::PutObjectLegalHoldRequest &request) const
virtual Model::GetBucketLoggingOutcome GetBucketLogging(const Model::GetBucketLoggingRequest &request) const
Model::GetBucketTaggingOutcomeCallable GetBucketTaggingCallable(const GetBucketTaggingRequestT &request) const
Model::PutBucketOwnershipControlsOutcomeCallable PutBucketOwnershipControlsCallable(const PutBucketOwnershipControlsRequestT &request) const
Model::PutBucketAnalyticsConfigurationOutcomeCallable PutBucketAnalyticsConfigurationCallable(const PutBucketAnalyticsConfigurationRequestT &request) const
Model::PutBucketLifecycleConfigurationOutcomeCallable PutBucketLifecycleConfigurationCallable(const PutBucketLifecycleConfigurationRequestT &request) const
virtual Model::PutBucketReplicationOutcome PutBucketReplication(const Model::PutBucketReplicationRequest &request) const
virtual Model::ListBucketsOutcome ListBuckets(const Model::ListBucketsRequest &request={}) const
Model::CompleteMultipartUploadOutcomeCallable CompleteMultipartUploadCallable(const CompleteMultipartUploadRequestT &request) const
virtual Model::ListBucketIntelligentTieringConfigurationsOutcome ListBucketIntelligentTieringConfigurations(const Model::ListBucketIntelligentTieringConfigurationsRequest &request) const
virtual Model::GetBucketAnalyticsConfigurationOutcome GetBucketAnalyticsConfiguration(const Model::GetBucketAnalyticsConfigurationRequest &request) const
Model::GetBucketNotificationConfigurationOutcomeCallable GetBucketNotificationConfigurationCallable(const GetBucketNotificationConfigurationRequestT &request) const
void GetObjectTaggingAsync(const GetObjectTaggingRequestT &request, const GetObjectTaggingResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::DeleteBucketMetricsConfigurationOutcome DeleteBucketMetricsConfiguration(const Model::DeleteBucketMetricsConfigurationRequest &request) const
Model::DeleteBucketReplicationOutcomeCallable DeleteBucketReplicationCallable(const DeleteBucketReplicationRequestT &request) const
Model::CreateBucketOutcomeCallable CreateBucketCallable(const CreateBucketRequestT &request) const
Model::GetBucketWebsiteOutcomeCallable GetBucketWebsiteCallable(const GetBucketWebsiteRequestT &request) const
virtual Model::SelectObjectContentOutcome SelectObjectContent(Model::SelectObjectContentRequest &request) const
Model::GetBucketLoggingOutcomeCallable GetBucketLoggingCallable(const GetBucketLoggingRequestT &request) const
virtual Model::DeleteBucketLifecycleOutcome DeleteBucketLifecycle(const Model::DeleteBucketLifecycleRequest &request) const
void GetBucketInventoryConfigurationAsync(const GetBucketInventoryConfigurationRequestT &request, const GetBucketInventoryConfigurationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::PutBucketWebsiteOutcome PutBucketWebsite(const Model::PutBucketWebsiteRequest &request) const
virtual Model::CreateBucketOutcome CreateBucket(const Model::CreateBucketRequest &request) const
virtual Model::ListObjectsV2Outcome ListObjectsV2(const Model::ListObjectsV2Request &request) const
S3CrtClient(S3CrtClient &&rhs) noexcept
virtual Model::PutBucketAnalyticsConfigurationOutcome PutBucketAnalyticsConfiguration(const Model::PutBucketAnalyticsConfigurationRequest &request) const
Model::PutBucketReplicationOutcomeCallable PutBucketReplicationCallable(const PutBucketReplicationRequestT &request) const
void PutBucketIntelligentTieringConfigurationAsync(const PutBucketIntelligentTieringConfigurationRequestT &request, const PutBucketIntelligentTieringConfigurationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void GetBucketTaggingAsync(const GetBucketTaggingRequestT &request, const GetBucketTaggingResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::GetBucketTaggingOutcome GetBucketTagging(const Model::GetBucketTaggingRequest &request) const
void DeleteBucketAnalyticsConfigurationAsync(const DeleteBucketAnalyticsConfigurationRequestT &request, const DeleteBucketAnalyticsConfigurationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::PutPublicAccessBlockOutcome PutPublicAccessBlock(const Model::PutPublicAccessBlockRequest &request) const
Model::GetBucketLocationOutcomeCallable GetBucketLocationCallable(const GetBucketLocationRequestT &request) const
Model::DeleteBucketWebsiteOutcomeCallable DeleteBucketWebsiteCallable(const DeleteBucketWebsiteRequestT &request) const
void GetBucketPolicyAsync(const GetBucketPolicyRequestT &request, const GetBucketPolicyResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::ListMultipartUploadsOutcome ListMultipartUploads(const Model::ListMultipartUploadsRequest &request) const
void PutBucketAccelerateConfigurationAsync(const PutBucketAccelerateConfigurationRequestT &request, const PutBucketAccelerateConfigurationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::WriteGetObjectResponseOutcomeCallable WriteGetObjectResponseCallable(const WriteGetObjectResponseRequestT &request) const
virtual Model::GetObjectAttributesOutcome GetObjectAttributes(const Model::GetObjectAttributesRequest &request) const
void SelectObjectContentAsync(SelectObjectContentRequestT &request, const SelectObjectContentResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void GetBucketMetricsConfigurationAsync(const GetBucketMetricsConfigurationRequestT &request, const GetBucketMetricsConfigurationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
S3CrtClient(const Aws::Auth::AWSCredentials &credentials, const Aws::S3Crt::ClientConfiguration &clientConfiguration=Aws::S3Crt::ClientConfiguration(), Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads=Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::Never, bool useVirtualAddressing=true, Aws::S3Crt::US_EAST_1_REGIONAL_ENDPOINT_OPTION USEast1RegionalEndPointOption=Aws::S3Crt::US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET)
void GetBucketAclAsync(const GetBucketAclRequestT &request, const GetBucketAclResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void DeletePublicAccessBlockAsync(const DeletePublicAccessBlockRequestT &request, const DeletePublicAccessBlockResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::PutBucketTaggingOutcome PutBucketTagging(const Model::PutBucketTaggingRequest &request) const
virtual Model::PutBucketLoggingOutcome PutBucketLogging(const Model::PutBucketLoggingRequest &request) const
void GetBucketLocationAsync(const GetBucketLocationRequestT &request, const GetBucketLocationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::DeleteBucketTaggingOutcomeCallable DeleteBucketTaggingCallable(const DeleteBucketTaggingRequestT &request) const
void DeleteObjectsAsync(const DeleteObjectsRequestT &request, const DeleteObjectsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::DeleteBucketTaggingOutcome DeleteBucketTagging(const Model::DeleteBucketTaggingRequest &request) const
virtual Model::GetObjectTaggingOutcome GetObjectTagging(const Model::GetObjectTaggingRequest &request) const
void ListObjectsV2Async(const ListObjectsV2RequestT &request, const ListObjectsV2ResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::GetBucketIntelligentTieringConfigurationOutcome GetBucketIntelligentTieringConfiguration(const Model::GetBucketIntelligentTieringConfigurationRequest &request) const
Model::DeleteBucketOutcomeCallable DeleteBucketCallable(const DeleteBucketRequestT &request) const
virtual Model::GetBucketWebsiteOutcome GetBucketWebsite(const Model::GetBucketWebsiteRequest &request) const
virtual Model::GetObjectLockConfigurationOutcome GetObjectLockConfiguration(const Model::GetObjectLockConfigurationRequest &request) const
virtual Model::GetBucketNotificationConfigurationOutcome GetBucketNotificationConfiguration(const Model::GetBucketNotificationConfigurationRequest &request) const
void PutBucketPolicyAsync(const PutBucketPolicyRequestT &request, const PutBucketPolicyResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::GetBucketEncryptionOutcomeCallable GetBucketEncryptionCallable(const GetBucketEncryptionRequestT &request) const
virtual Model::GetBucketReplicationOutcome GetBucketReplication(const Model::GetBucketReplicationRequest &request) const
virtual Model::PutBucketVersioningOutcome PutBucketVersioning(const Model::PutBucketVersioningRequest &request) const
void DeleteBucketReplicationAsync(const DeleteBucketReplicationRequestT &request, const DeleteBucketReplicationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
S3CrtClient & operator=(S3CrtClient &&rhs) noexcept
void PutBucketRequestPaymentAsync(const PutBucketRequestPaymentRequestT &request, const PutBucketRequestPaymentResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void GetObjectLockConfigurationAsync(const GetObjectLockConfigurationRequestT &request, const GetObjectLockConfigurationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void PutBucketCorsAsync(const PutBucketCorsRequestT &request, const PutBucketCorsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::GetBucketPolicyOutcomeCallable GetBucketPolicyCallable(const GetBucketPolicyRequestT &request) const
virtual Model::GetObjectRetentionOutcome GetObjectRetention(const Model::GetObjectRetentionRequest &request) const
Model::PutBucketMetricsConfigurationOutcomeCallable PutBucketMetricsConfigurationCallable(const PutBucketMetricsConfigurationRequestT &request) const
Model::ListObjectsOutcomeCallable ListObjectsCallable(const ListObjectsRequestT &request) const
virtual Model::ListBucketMetricsConfigurationsOutcome ListBucketMetricsConfigurations(const Model::ListBucketMetricsConfigurationsRequest &request) const
void GetObjectTorrentAsync(const GetObjectTorrentRequestT &request, const GetObjectTorrentResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::PutBucketAclOutcomeCallable PutBucketAclCallable(const PutBucketAclRequestT &request) const
Model::PutBucketLoggingOutcomeCallable PutBucketLoggingCallable(const PutBucketLoggingRequestT &request) const
virtual Model::PutBucketCorsOutcome PutBucketCors(const Model::PutBucketCorsRequest &request) const
void HeadBucketAsync(const HeadBucketRequestT &request, const HeadBucketResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::GetObjectLockConfigurationOutcomeCallable GetObjectLockConfigurationCallable(const GetObjectLockConfigurationRequestT &request) const
Model::ListPartsOutcomeCallable ListPartsCallable(const ListPartsRequestT &request) const
void PutBucketOwnershipControlsAsync(const PutBucketOwnershipControlsRequestT &request, const PutBucketOwnershipControlsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
std::shared_ptr< S3CrtEndpointProviderBase > & accessEndpointProvider()
virtual Model::PutObjectAclOutcome PutObjectAcl(const Model::PutObjectAclRequest &request) const
Model::PutBucketVersioningOutcomeCallable PutBucketVersioningCallable(const PutBucketVersioningRequestT &request) const
virtual Model::GetBucketPolicyStatusOutcome GetBucketPolicyStatus(const Model::GetBucketPolicyStatusRequest &request) const
virtual Model::GetBucketRequestPaymentOutcome GetBucketRequestPayment(const Model::GetBucketRequestPaymentRequest &request) const
Model::GetBucketInventoryConfigurationOutcomeCallable GetBucketInventoryConfigurationCallable(const GetBucketInventoryConfigurationRequestT &request) const
Model::GetBucketPolicyStatusOutcomeCallable GetBucketPolicyStatusCallable(const GetBucketPolicyStatusRequestT &request) const
Model::GetPublicAccessBlockOutcomeCallable GetPublicAccessBlockCallable(const GetPublicAccessBlockRequestT &request) const
void DeleteBucketIntelligentTieringConfigurationAsync(const DeleteBucketIntelligentTieringConfigurationRequestT &request, const DeleteBucketIntelligentTieringConfigurationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void PutBucketInventoryConfigurationAsync(const PutBucketInventoryConfigurationRequestT &request, const PutBucketInventoryConfigurationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void PutBucketLifecycleConfigurationAsync(const PutBucketLifecycleConfigurationRequestT &request, const PutBucketLifecycleConfigurationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::UploadPartCopyOutcomeCallable UploadPartCopyCallable(const UploadPartCopyRequestT &request) const
void CreateBucketAsync(const CreateBucketRequestT &request, const CreateBucketResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::PutBucketNotificationConfigurationOutcomeCallable PutBucketNotificationConfigurationCallable(const PutBucketNotificationConfigurationRequestT &request) const
Model::PutObjectLegalHoldOutcomeCallable PutObjectLegalHoldCallable(const PutObjectLegalHoldRequestT &request) const
Model::DeleteBucketAnalyticsConfigurationOutcomeCallable DeleteBucketAnalyticsConfigurationCallable(const DeleteBucketAnalyticsConfigurationRequestT &request) const
void GetPublicAccessBlockAsync(const GetPublicAccessBlockRequestT &request, const GetPublicAccessBlockResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
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)
virtual Model::GetBucketOwnershipControlsOutcome GetBucketOwnershipControls(const Model::GetBucketOwnershipControlsRequest &request) const
virtual Model::DeleteBucketAnalyticsConfigurationOutcome DeleteBucketAnalyticsConfiguration(const Model::DeleteBucketAnalyticsConfigurationRequest &request) const
Model::ListBucketAnalyticsConfigurationsOutcomeCallable ListBucketAnalyticsConfigurationsCallable(const ListBucketAnalyticsConfigurationsRequestT &request) const
void PutBucketNotificationConfigurationAsync(const PutBucketNotificationConfigurationRequestT &request, const PutBucketNotificationConfigurationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void GetBucketVersioningAsync(const GetBucketVersioningRequestT &request, const GetBucketVersioningResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void GetBucketNotificationConfigurationAsync(const GetBucketNotificationConfigurationRequestT &request, const GetBucketNotificationConfigurationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void ListBucketIntelligentTieringConfigurationsAsync(const ListBucketIntelligentTieringConfigurationsRequestT &request, const ListBucketIntelligentTieringConfigurationsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void DeleteBucketWebsiteAsync(const DeleteBucketWebsiteRequestT &request, const DeleteBucketWebsiteResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::future< DeleteObjectTaggingOutcome > DeleteObjectTaggingOutcomeCallable
std::future< GetBucketPolicyOutcome > GetBucketPolicyOutcomeCallable
std::future< ListBucketAnalyticsConfigurationsOutcome > ListBucketAnalyticsConfigurationsOutcomeCallable
std::future< GetBucketLocationOutcome > GetBucketLocationOutcomeCallable
std::future< DeleteBucketReplicationOutcome > DeleteBucketReplicationOutcomeCallable
std::future< GetObjectLockConfigurationOutcome > GetObjectLockConfigurationOutcomeCallable
std::future< CompleteMultipartUploadOutcome > CompleteMultipartUploadOutcomeCallable
std::future< DeleteBucketOutcome > DeleteBucketOutcomeCallable
std::future< PutBucketIntelligentTieringConfigurationOutcome > PutBucketIntelligentTieringConfigurationOutcomeCallable
std::future< GetObjectTorrentOutcome > GetObjectTorrentOutcomeCallable
std::future< GetBucketWebsiteOutcome > GetBucketWebsiteOutcomeCallable
std::future< UploadPartOutcome > UploadPartOutcomeCallable
std::future< CreateSessionOutcome > CreateSessionOutcomeCallable
std::future< ListBucketInventoryConfigurationsOutcome > ListBucketInventoryConfigurationsOutcomeCallable
std::future< GetBucketEncryptionOutcome > GetBucketEncryptionOutcomeCallable
std::future< DeleteBucketCorsOutcome > DeleteBucketCorsOutcomeCallable
std::future< RestoreObjectOutcome > RestoreObjectOutcomeCallable
std::future< PutBucketPolicyOutcome > PutBucketPolicyOutcomeCallable
std::future< DeleteBucketInventoryConfigurationOutcome > DeleteBucketInventoryConfigurationOutcomeCallable
std::future< DeleteObjectsOutcome > DeleteObjectsOutcomeCallable
std::future< PutBucketRequestPaymentOutcome > PutBucketRequestPaymentOutcomeCallable
std::future< GetBucketOwnershipControlsOutcome > GetBucketOwnershipControlsOutcomeCallable
std::future< GetBucketAccelerateConfigurationOutcome > GetBucketAccelerateConfigurationOutcomeCallable
std::future< GetBucketVersioningOutcome > GetBucketVersioningOutcomeCallable
std::future< PutBucketTaggingOutcome > PutBucketTaggingOutcomeCallable
std::future< GetObjectTaggingOutcome > GetObjectTaggingOutcomeCallable
std::future< PutBucketReplicationOutcome > PutBucketReplicationOutcomeCallable
std::future< PutBucketInventoryConfigurationOutcome > PutBucketInventoryConfigurationOutcomeCallable
std::future< DeleteBucketWebsiteOutcome > DeleteBucketWebsiteOutcomeCallable
std::future< PutBucketAclOutcome > PutBucketAclOutcomeCallable
std::future< ListPartsOutcome > ListPartsOutcomeCallable
std::future< PutBucketCorsOutcome > PutBucketCorsOutcomeCallable
std::future< PutBucketAnalyticsConfigurationOutcome > PutBucketAnalyticsConfigurationOutcomeCallable
std::future< ListBucketMetricsConfigurationsOutcome > ListBucketMetricsConfigurationsOutcomeCallable
std::future< DeleteBucketAnalyticsConfigurationOutcome > DeleteBucketAnalyticsConfigurationOutcomeCallable
std::future< PutObjectRetentionOutcome > PutObjectRetentionOutcomeCallable
std::future< PutBucketLoggingOutcome > PutBucketLoggingOutcomeCallable
std::future< PutBucketVersioningOutcome > PutBucketVersioningOutcomeCallable
std::future< PutObjectTaggingOutcome > PutObjectTaggingOutcomeCallable
std::future< HeadObjectOutcome > HeadObjectOutcomeCallable
std::future< PutObjectLockConfigurationOutcome > PutObjectLockConfigurationOutcomeCallable
std::future< GetBucketLifecycleConfigurationOutcome > GetBucketLifecycleConfigurationOutcomeCallable
std::future< GetBucketTaggingOutcome > GetBucketTaggingOutcomeCallable
std::future< GetBucketLoggingOutcome > GetBucketLoggingOutcomeCallable
std::future< GetBucketNotificationConfigurationOutcome > GetBucketNotificationConfigurationOutcomeCallable
std::future< PutBucketMetricsConfigurationOutcome > PutBucketMetricsConfigurationOutcomeCallable
std::future< ListObjectsOutcome > ListObjectsOutcomeCallable
std::future< SelectObjectContentOutcome > SelectObjectContentOutcomeCallable
std::future< AbortMultipartUploadOutcome > AbortMultipartUploadOutcomeCallable
std::future< DeleteBucketPolicyOutcome > DeleteBucketPolicyOutcomeCallable
std::future< GetBucketAnalyticsConfigurationOutcome > GetBucketAnalyticsConfigurationOutcomeCallable
std::future< PutBucketOwnershipControlsOutcome > PutBucketOwnershipControlsOutcomeCallable
std::future< ListObjectsV2Outcome > ListObjectsV2OutcomeCallable
std::future< PutPublicAccessBlockOutcome > PutPublicAccessBlockOutcomeCallable
std::future< GetBucketAclOutcome > GetBucketAclOutcomeCallable
std::future< PutObjectAclOutcome > PutObjectAclOutcomeCallable
std::future< PutBucketAccelerateConfigurationOutcome > PutBucketAccelerateConfigurationOutcomeCallable
std::future< ListBucketIntelligentTieringConfigurationsOutcome > ListBucketIntelligentTieringConfigurationsOutcomeCallable
std::future< HeadBucketOutcome > HeadBucketOutcomeCallable
std::future< CreateMultipartUploadOutcome > CreateMultipartUploadOutcomeCallable
std::future< PutBucketEncryptionOutcome > PutBucketEncryptionOutcomeCallable
std::future< ListDirectoryBucketsOutcome > ListDirectoryBucketsOutcomeCallable
std::future< PutBucketLifecycleConfigurationOutcome > PutBucketLifecycleConfigurationOutcomeCallable
std::future< ListBucketsOutcome > ListBucketsOutcomeCallable
std::future< DeleteBucketLifecycleOutcome > DeleteBucketLifecycleOutcomeCallable
std::future< ListObjectVersionsOutcome > ListObjectVersionsOutcomeCallable
std::future< GetBucketIntelligentTieringConfigurationOutcome > GetBucketIntelligentTieringConfigurationOutcomeCallable
std::future< PutBucketWebsiteOutcome > PutBucketWebsiteOutcomeCallable
std::future< DeleteBucketTaggingOutcome > DeleteBucketTaggingOutcomeCallable
std::future< DeleteBucketOwnershipControlsOutcome > DeleteBucketOwnershipControlsOutcomeCallable
std::future< DeleteBucketEncryptionOutcome > DeleteBucketEncryptionOutcomeCallable
std::future< WriteGetObjectResponseOutcome > WriteGetObjectResponseOutcomeCallable
std::future< PutObjectLegalHoldOutcome > PutObjectLegalHoldOutcomeCallable
std::future< GetObjectLegalHoldOutcome > GetObjectLegalHoldOutcomeCallable
std::future< GetObjectRetentionOutcome > GetObjectRetentionOutcomeCallable
std::future< GetBucketRequestPaymentOutcome > GetBucketRequestPaymentOutcomeCallable
std::future< PutBucketNotificationConfigurationOutcome > PutBucketNotificationConfigurationOutcomeCallable
std::future< GetBucketInventoryConfigurationOutcome > GetBucketInventoryConfigurationOutcomeCallable
std::future< GetObjectAttributesOutcome > GetObjectAttributesOutcomeCallable
std::future< DeleteObjectOutcome > DeleteObjectOutcomeCallable
std::future< CreateBucketOutcome > CreateBucketOutcomeCallable
std::future< DeleteBucketIntelligentTieringConfigurationOutcome > DeleteBucketIntelligentTieringConfigurationOutcomeCallable
std::future< GetPublicAccessBlockOutcome > GetPublicAccessBlockOutcomeCallable
std::future< GetBucketMetricsConfigurationOutcome > GetBucketMetricsConfigurationOutcomeCallable
std::future< DeleteBucketMetricsConfigurationOutcome > DeleteBucketMetricsConfigurationOutcomeCallable
std::future< DeletePublicAccessBlockOutcome > DeletePublicAccessBlockOutcomeCallable
std::future< GetBucketPolicyStatusOutcome > GetBucketPolicyStatusOutcomeCallable
std::future< GetBucketCorsOutcome > GetBucketCorsOutcomeCallable
std::future< GetBucketReplicationOutcome > GetBucketReplicationOutcomeCallable
std::future< GetObjectAclOutcome > GetObjectAclOutcomeCallable
std::future< ListMultipartUploadsOutcome > ListMultipartUploadsOutcomeCallable
std::future< UploadPartCopyOutcome > UploadPartCopyOutcomeCallable
static const char SERVER_SIDE_ENCRYPTION_CUSTOMER_KEY[]
Definition S3CrtClient.h:42
static const char SERVER_SIDE_ENCRYPTION_CUSTOMER_ALGORITHM[]
Definition S3CrtClient.h:41
static const char SERVER_SIDE_ENCRYPTION_CUSTOMER_KEY_MD5[]
Definition S3CrtClient.h:43
static const char SERVER_SIDE_ENCRYPTION_AWS_KMS_KEY_ID[]
Definition S3CrtClient.h:40
static const char SERVER_SIDE_ENCRYPTION[]
Definition S3CrtClient.h:39
std::function< void(const S3CrtClient *, const Model::PutObjectRequest &, const Model::PutObjectOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutObjectResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetBucketCorsRequest &, const Model::GetBucketCorsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetBucketCorsResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::DeleteObjectsRequest &, const Model::DeleteObjectsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteObjectsResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::PutObjectLegalHoldRequest &, const Model::PutObjectLegalHoldOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutObjectLegalHoldResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::CompleteMultipartUploadRequest &, const Model::CompleteMultipartUploadOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > CompleteMultipartUploadResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetBucketInventoryConfigurationRequest &, const Model::GetBucketInventoryConfigurationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetBucketInventoryConfigurationResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetBucketMetricsConfigurationRequest &, const Model::GetBucketMetricsConfigurationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetBucketMetricsConfigurationResponseReceivedHandler
static const unsigned MAX_EXPIRATION_SECONDS
Definition S3CrtClient.h:47
std::function< void(const S3CrtClient *, const Model::GetBucketWebsiteRequest &, const Model::GetBucketWebsiteOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetBucketWebsiteResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::DeleteBucketInventoryConfigurationRequest &, const Model::DeleteBucketInventoryConfigurationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteBucketInventoryConfigurationResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetBucketPolicyRequest &, Model::GetBucketPolicyOutcome, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetBucketPolicyResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetBucketEncryptionRequest &, const Model::GetBucketEncryptionOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetBucketEncryptionResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetBucketAnalyticsConfigurationRequest &, const Model::GetBucketAnalyticsConfigurationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetBucketAnalyticsConfigurationResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::PutBucketAclRequest &, const Model::PutBucketAclOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutBucketAclResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::ListBucketAnalyticsConfigurationsRequest &, const Model::ListBucketAnalyticsConfigurationsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListBucketAnalyticsConfigurationsResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::PutBucketEncryptionRequest &, const Model::PutBucketEncryptionOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutBucketEncryptionResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::CreateSessionRequest &, const Model::CreateSessionOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > CreateSessionResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::PutBucketOwnershipControlsRequest &, const Model::PutBucketOwnershipControlsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutBucketOwnershipControlsResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetObjectLockConfigurationRequest &, const Model::GetObjectLockConfigurationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetObjectLockConfigurationResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetBucketAccelerateConfigurationRequest &, const Model::GetBucketAccelerateConfigurationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetBucketAccelerateConfigurationResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::HeadObjectRequest &, const Model::HeadObjectOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > HeadObjectResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::PutBucketRequestPaymentRequest &, const Model::PutBucketRequestPaymentOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutBucketRequestPaymentResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::ListObjectsV2Request &, const Model::ListObjectsV2Outcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListObjectsV2ResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::CreateMultipartUploadRequest &, const Model::CreateMultipartUploadOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > CreateMultipartUploadResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::ListPartsRequest &, const Model::ListPartsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListPartsResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::DeleteBucketWebsiteRequest &, const Model::DeleteBucketWebsiteOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteBucketWebsiteResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::RestoreObjectRequest &, const Model::RestoreObjectOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > RestoreObjectResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::DeleteObjectRequest &, const Model::DeleteObjectOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteObjectResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::DeleteBucketRequest &, const Model::DeleteBucketOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteBucketResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::DeleteBucketMetricsConfigurationRequest &, const Model::DeleteBucketMetricsConfigurationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteBucketMetricsConfigurationResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::DeleteBucketOwnershipControlsRequest &, const Model::DeleteBucketOwnershipControlsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteBucketOwnershipControlsResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetObjectAttributesRequest &, const Model::GetObjectAttributesOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetObjectAttributesResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::DeleteBucketEncryptionRequest &, const Model::DeleteBucketEncryptionOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteBucketEncryptionResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::DeletePublicAccessBlockRequest &, const Model::DeletePublicAccessBlockOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeletePublicAccessBlockResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetBucketRequestPaymentRequest &, const Model::GetBucketRequestPaymentOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetBucketRequestPaymentResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetBucketAclRequest &, const Model::GetBucketAclOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetBucketAclResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::PutBucketLoggingRequest &, const Model::PutBucketLoggingOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutBucketLoggingResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::DeleteBucketReplicationRequest &, const Model::DeleteBucketReplicationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteBucketReplicationResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::PutBucketCorsRequest &, const Model::PutBucketCorsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutBucketCorsResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::PutObjectLockConfigurationRequest &, const Model::PutObjectLockConfigurationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutObjectLockConfigurationResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetObjectRetentionRequest &, const Model::GetObjectRetentionOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetObjectRetentionResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::AbortMultipartUploadRequest &, const Model::AbortMultipartUploadOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > AbortMultipartUploadResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetBucketVersioningRequest &, const Model::GetBucketVersioningOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetBucketVersioningResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::SelectObjectContentRequest &, const Model::SelectObjectContentOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > SelectObjectContentResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::CreateBucketRequest &, const Model::CreateBucketOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > CreateBucketResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::PutObjectTaggingRequest &, const Model::PutObjectTaggingOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutObjectTaggingResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::WriteGetObjectResponseRequest &, const Model::WriteGetObjectResponseOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > WriteGetObjectResponseResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::ListBucketMetricsConfigurationsRequest &, const Model::ListBucketMetricsConfigurationsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListBucketMetricsConfigurationsResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::PutBucketNotificationConfigurationRequest &, const Model::PutBucketNotificationConfigurationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutBucketNotificationConfigurationResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetBucketNotificationConfigurationRequest &, const Model::GetBucketNotificationConfigurationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetBucketNotificationConfigurationResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::CopyObjectRequest &, const Model::CopyObjectOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > CopyObjectResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::ListMultipartUploadsRequest &, const Model::ListMultipartUploadsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListMultipartUploadsResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetBucketLifecycleConfigurationRequest &, const Model::GetBucketLifecycleConfigurationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetBucketLifecycleConfigurationResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::UploadPartRequest &, const Model::UploadPartOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > UploadPartResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::PutBucketInventoryConfigurationRequest &, const Model::PutBucketInventoryConfigurationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutBucketInventoryConfigurationResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::PutBucketMetricsConfigurationRequest &, const Model::PutBucketMetricsConfigurationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutBucketMetricsConfigurationResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetBucketOwnershipControlsRequest &, const Model::GetBucketOwnershipControlsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetBucketOwnershipControlsResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetBucketLocationRequest &, const Model::GetBucketLocationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetBucketLocationResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetBucketIntelligentTieringConfigurationRequest &, const Model::GetBucketIntelligentTieringConfigurationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetBucketIntelligentTieringConfigurationResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::HeadBucketRequest &, const Model::HeadBucketOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > HeadBucketResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::DeleteObjectTaggingRequest &, const Model::DeleteObjectTaggingOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteObjectTaggingResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::ListObjectVersionsRequest &, const Model::ListObjectVersionsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListObjectVersionsResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetBucketTaggingRequest &, const Model::GetBucketTaggingOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetBucketTaggingResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetObjectAclRequest &, const Model::GetObjectAclOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetObjectAclResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::UploadPartCopyRequest &, const Model::UploadPartCopyOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > UploadPartCopyResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::ListBucketInventoryConfigurationsRequest &, const Model::ListBucketInventoryConfigurationsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListBucketInventoryConfigurationsResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::PutPublicAccessBlockRequest &, const Model::PutPublicAccessBlockOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutPublicAccessBlockResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::PutBucketVersioningRequest &, const Model::PutBucketVersioningOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutBucketVersioningResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetObjectTorrentRequest &, Model::GetObjectTorrentOutcome, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetObjectTorrentResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetObjectLegalHoldRequest &, const Model::GetObjectLegalHoldOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetObjectLegalHoldResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::DeleteBucketPolicyRequest &, const Model::DeleteBucketPolicyOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteBucketPolicyResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::PutBucketIntelligentTieringConfigurationRequest &, const Model::PutBucketIntelligentTieringConfigurationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutBucketIntelligentTieringConfigurationResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::ListBucketIntelligentTieringConfigurationsRequest &, const Model::ListBucketIntelligentTieringConfigurationsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListBucketIntelligentTieringConfigurationsResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::PutBucketLifecycleConfigurationRequest &, const Model::PutBucketLifecycleConfigurationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutBucketLifecycleConfigurationResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::DeleteBucketCorsRequest &, const Model::DeleteBucketCorsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteBucketCorsResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::PutObjectRetentionRequest &, const Model::PutObjectRetentionOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutObjectRetentionResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::PutBucketAccelerateConfigurationRequest &, const Model::PutBucketAccelerateConfigurationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutBucketAccelerateConfigurationResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetObjectTaggingRequest &, const Model::GetObjectTaggingOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetObjectTaggingResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetBucketReplicationRequest &, const Model::GetBucketReplicationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetBucketReplicationResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetBucketPolicyStatusRequest &, const Model::GetBucketPolicyStatusOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetBucketPolicyStatusResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::DeleteBucketAnalyticsConfigurationRequest &, const Model::DeleteBucketAnalyticsConfigurationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteBucketAnalyticsConfigurationResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetPublicAccessBlockRequest &, const Model::GetPublicAccessBlockOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetPublicAccessBlockResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::PutBucketWebsiteRequest &, const Model::PutBucketWebsiteOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutBucketWebsiteResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::PutObjectAclRequest &, const Model::PutObjectAclOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutObjectAclResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::DeleteBucketTaggingRequest &, const Model::DeleteBucketTaggingOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteBucketTaggingResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::PutBucketReplicationRequest &, const Model::PutBucketReplicationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutBucketReplicationResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::PutBucketTaggingRequest &, const Model::PutBucketTaggingOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutBucketTaggingResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::DeleteBucketLifecycleRequest &, const Model::DeleteBucketLifecycleOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteBucketLifecycleResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::ListDirectoryBucketsRequest &, const Model::ListDirectoryBucketsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListDirectoryBucketsResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::ListObjectsRequest &, const Model::ListObjectsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListObjectsResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::DeleteBucketIntelligentTieringConfigurationRequest &, const Model::DeleteBucketIntelligentTieringConfigurationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteBucketIntelligentTieringConfigurationResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetBucketLoggingRequest &, const Model::GetBucketLoggingOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetBucketLoggingResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::PutBucketPolicyRequest &, const Model::PutBucketPolicyOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutBucketPolicyResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::PutBucketAnalyticsConfigurationRequest &, const Model::PutBucketAnalyticsConfigurationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutBucketAnalyticsConfigurationResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::GetObjectRequest &, Model::GetObjectOutcome, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetObjectResponseReceivedHandler
std::function< void(const S3CrtClient *, const Model::ListBucketsRequest &, const Model::ListBucketsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListBucketsResponseReceivedHandler
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::unique_ptr< T, D > UniquePtr
std::shared_ptr< const Aws::Client::AsyncCallerContext > asyncCallerContext
PutObjectResponseReceivedHandler putResponseHandler
GetObjectResponseReceivedHandler getResponseHandler
std::shared_ptr< Aws::Crt::Http::HttpRequest > crtHttpRequest
Aws::UniquePtr< struct aws_s3_checksum_config > checksumConfig
std::shared_ptr< Aws::Http::HttpResponse > response
const Aws::AmazonWebServiceRequest * originalRequest
std::shared_ptr< Aws::Http::HttpRequest > request
CopyObjectResponseReceivedHandler copyResponseHandler