S3ServiceClientModel.h 48 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503
  1. /**
  2. * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
  3. * SPDX-License-Identifier: Apache-2.0.
  4. */
  5. #pragma once
  6. /* Generic header includes */
  7. #include <aws/s3/S3Errors.h>
  8. #include <aws/s3/S3ClientConfiguration.h>
  9. #include <aws/core/client/AWSError.h>
  10. #include <aws/core/utils/memory/stl/AWSString.h>
  11. #include <aws/core/client/AsyncCallerContext.h>
  12. #include <aws/core/http/HttpTypes.h>
  13. #include <aws/s3/S3EndpointProvider.h>
  14. #include <future>
  15. #include <functional>
  16. /* End of generic header includes */
  17. /* Service model headers required in S3Client header */
  18. #include <aws/s3/model/AbortMultipartUploadResult.h>
  19. #include <aws/s3/model/CompleteMultipartUploadResult.h>
  20. #include <aws/s3/model/CopyObjectResult.h>
  21. #include <aws/s3/model/CreateBucketResult.h>
  22. #include <aws/s3/model/CreateMultipartUploadResult.h>
  23. #include <aws/s3/model/DeleteObjectResult.h>
  24. #include <aws/s3/model/DeleteObjectTaggingResult.h>
  25. #include <aws/s3/model/DeleteObjectsResult.h>
  26. #include <aws/s3/model/GetBucketAccelerateConfigurationResult.h>
  27. #include <aws/s3/model/GetBucketAclResult.h>
  28. #include <aws/s3/model/GetBucketAnalyticsConfigurationResult.h>
  29. #include <aws/s3/model/GetBucketCorsResult.h>
  30. #include <aws/s3/model/GetBucketEncryptionResult.h>
  31. #include <aws/s3/model/GetBucketIntelligentTieringConfigurationResult.h>
  32. #include <aws/s3/model/GetBucketInventoryConfigurationResult.h>
  33. #include <aws/s3/model/GetBucketLifecycleConfigurationResult.h>
  34. #include <aws/s3/model/GetBucketLocationResult.h>
  35. #include <aws/s3/model/GetBucketLoggingResult.h>
  36. #include <aws/s3/model/GetBucketMetricsConfigurationResult.h>
  37. #include <aws/s3/model/GetBucketNotificationConfigurationResult.h>
  38. #include <aws/s3/model/GetBucketOwnershipControlsResult.h>
  39. #include <aws/s3/model/GetBucketPolicyResult.h>
  40. #include <aws/s3/model/GetBucketPolicyStatusResult.h>
  41. #include <aws/s3/model/GetBucketReplicationResult.h>
  42. #include <aws/s3/model/GetBucketRequestPaymentResult.h>
  43. #include <aws/s3/model/GetBucketTaggingResult.h>
  44. #include <aws/s3/model/GetBucketVersioningResult.h>
  45. #include <aws/s3/model/GetBucketWebsiteResult.h>
  46. #include <aws/s3/model/GetObjectResult.h>
  47. #include <aws/s3/model/GetObjectAclResult.h>
  48. #include <aws/s3/model/GetObjectAttributesResult.h>
  49. #include <aws/s3/model/GetObjectLegalHoldResult.h>
  50. #include <aws/s3/model/GetObjectLockConfigurationResult.h>
  51. #include <aws/s3/model/GetObjectRetentionResult.h>
  52. #include <aws/s3/model/GetObjectTaggingResult.h>
  53. #include <aws/s3/model/GetObjectTorrentResult.h>
  54. #include <aws/s3/model/GetPublicAccessBlockResult.h>
  55. #include <aws/s3/model/HeadObjectResult.h>
  56. #include <aws/s3/model/ListBucketAnalyticsConfigurationsResult.h>
  57. #include <aws/s3/model/ListBucketIntelligentTieringConfigurationsResult.h>
  58. #include <aws/s3/model/ListBucketInventoryConfigurationsResult.h>
  59. #include <aws/s3/model/ListBucketMetricsConfigurationsResult.h>
  60. #include <aws/s3/model/ListBucketsResult.h>
  61. #include <aws/s3/model/ListMultipartUploadsResult.h>
  62. #include <aws/s3/model/ListObjectVersionsResult.h>
  63. #include <aws/s3/model/ListObjectsResult.h>
  64. #include <aws/s3/model/ListObjectsV2Result.h>
  65. #include <aws/s3/model/ListPartsResult.h>
  66. #include <aws/s3/model/PutObjectResult.h>
  67. #include <aws/s3/model/PutObjectAclResult.h>
  68. #include <aws/s3/model/PutObjectLegalHoldResult.h>
  69. #include <aws/s3/model/PutObjectLockConfigurationResult.h>
  70. #include <aws/s3/model/PutObjectRetentionResult.h>
  71. #include <aws/s3/model/PutObjectTaggingResult.h>
  72. #include <aws/s3/model/RestoreObjectResult.h>
  73. #include <aws/s3/model/UploadPartResult.h>
  74. #include <aws/s3/model/UploadPartCopyResult.h>
  75. #include <aws/core/NoResult.h>
  76. /* End of service model headers required in S3Client header */
  77. namespace Aws
  78. {
  79. namespace Http
  80. {
  81. class HttpClient;
  82. class HttpClientFactory;
  83. } // namespace Http
  84. namespace Utils
  85. {
  86. template< typename R, typename E> class Outcome;
  87. namespace Threading
  88. {
  89. class Executor;
  90. } // namespace Threading
  91. } // namespace Utils
  92. namespace Auth
  93. {
  94. class AWSCredentials;
  95. class AWSCredentialsProvider;
  96. } // namespace Auth
  97. namespace Client
  98. {
  99. class RetryStrategy;
  100. } // namespace Client
  101. namespace S3
  102. {
  103. using S3EndpointProviderBase = Aws::S3::Endpoint::S3EndpointProviderBase;
  104. using S3EndpointProvider = Aws::S3::Endpoint::S3EndpointProvider;
  105. namespace Model
  106. {
  107. /* Service model forward declarations required in S3Client header */
  108. class AbortMultipartUploadRequest;
  109. class CompleteMultipartUploadRequest;
  110. class CopyObjectRequest;
  111. class CreateBucketRequest;
  112. class CreateMultipartUploadRequest;
  113. class DeleteBucketRequest;
  114. class DeleteBucketAnalyticsConfigurationRequest;
  115. class DeleteBucketCorsRequest;
  116. class DeleteBucketEncryptionRequest;
  117. class DeleteBucketIntelligentTieringConfigurationRequest;
  118. class DeleteBucketInventoryConfigurationRequest;
  119. class DeleteBucketLifecycleRequest;
  120. class DeleteBucketMetricsConfigurationRequest;
  121. class DeleteBucketOwnershipControlsRequest;
  122. class DeleteBucketPolicyRequest;
  123. class DeleteBucketReplicationRequest;
  124. class DeleteBucketTaggingRequest;
  125. class DeleteBucketWebsiteRequest;
  126. class DeleteObjectRequest;
  127. class DeleteObjectTaggingRequest;
  128. class DeleteObjectsRequest;
  129. class DeletePublicAccessBlockRequest;
  130. class GetBucketAccelerateConfigurationRequest;
  131. class GetBucketAclRequest;
  132. class GetBucketAnalyticsConfigurationRequest;
  133. class GetBucketCorsRequest;
  134. class GetBucketEncryptionRequest;
  135. class GetBucketIntelligentTieringConfigurationRequest;
  136. class GetBucketInventoryConfigurationRequest;
  137. class GetBucketLifecycleConfigurationRequest;
  138. class GetBucketLocationRequest;
  139. class GetBucketLoggingRequest;
  140. class GetBucketMetricsConfigurationRequest;
  141. class GetBucketNotificationConfigurationRequest;
  142. class GetBucketOwnershipControlsRequest;
  143. class GetBucketPolicyRequest;
  144. class GetBucketPolicyStatusRequest;
  145. class GetBucketReplicationRequest;
  146. class GetBucketRequestPaymentRequest;
  147. class GetBucketTaggingRequest;
  148. class GetBucketVersioningRequest;
  149. class GetBucketWebsiteRequest;
  150. class GetObjectRequest;
  151. class GetObjectAclRequest;
  152. class GetObjectAttributesRequest;
  153. class GetObjectLegalHoldRequest;
  154. class GetObjectLockConfigurationRequest;
  155. class GetObjectRetentionRequest;
  156. class GetObjectTaggingRequest;
  157. class GetObjectTorrentRequest;
  158. class GetPublicAccessBlockRequest;
  159. class HeadBucketRequest;
  160. class HeadObjectRequest;
  161. class ListBucketAnalyticsConfigurationsRequest;
  162. class ListBucketIntelligentTieringConfigurationsRequest;
  163. class ListBucketInventoryConfigurationsRequest;
  164. class ListBucketMetricsConfigurationsRequest;
  165. class ListMultipartUploadsRequest;
  166. class ListObjectVersionsRequest;
  167. class ListObjectsRequest;
  168. class ListObjectsV2Request;
  169. class ListPartsRequest;
  170. class PutBucketAccelerateConfigurationRequest;
  171. class PutBucketAclRequest;
  172. class PutBucketAnalyticsConfigurationRequest;
  173. class PutBucketCorsRequest;
  174. class PutBucketEncryptionRequest;
  175. class PutBucketIntelligentTieringConfigurationRequest;
  176. class PutBucketInventoryConfigurationRequest;
  177. class PutBucketLifecycleConfigurationRequest;
  178. class PutBucketLoggingRequest;
  179. class PutBucketMetricsConfigurationRequest;
  180. class PutBucketNotificationConfigurationRequest;
  181. class PutBucketOwnershipControlsRequest;
  182. class PutBucketPolicyRequest;
  183. class PutBucketReplicationRequest;
  184. class PutBucketRequestPaymentRequest;
  185. class PutBucketTaggingRequest;
  186. class PutBucketVersioningRequest;
  187. class PutBucketWebsiteRequest;
  188. class PutObjectRequest;
  189. class PutObjectAclRequest;
  190. class PutObjectLegalHoldRequest;
  191. class PutObjectLockConfigurationRequest;
  192. class PutObjectRetentionRequest;
  193. class PutObjectTaggingRequest;
  194. class PutPublicAccessBlockRequest;
  195. class RestoreObjectRequest;
  196. class SelectObjectContentRequest;
  197. class UploadPartRequest;
  198. class UploadPartCopyRequest;
  199. class WriteGetObjectResponseRequest;
  200. /* End of service model forward declarations required in S3Client header */
  201. /* Service model Outcome class definitions */
  202. typedef Aws::Utils::Outcome<AbortMultipartUploadResult, S3Error> AbortMultipartUploadOutcome;
  203. typedef Aws::Utils::Outcome<CompleteMultipartUploadResult, S3Error> CompleteMultipartUploadOutcome;
  204. typedef Aws::Utils::Outcome<CopyObjectResult, S3Error> CopyObjectOutcome;
  205. typedef Aws::Utils::Outcome<CreateBucketResult, S3Error> CreateBucketOutcome;
  206. typedef Aws::Utils::Outcome<CreateMultipartUploadResult, S3Error> CreateMultipartUploadOutcome;
  207. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketOutcome;
  208. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketAnalyticsConfigurationOutcome;
  209. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketCorsOutcome;
  210. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketEncryptionOutcome;
  211. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketIntelligentTieringConfigurationOutcome;
  212. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketInventoryConfigurationOutcome;
  213. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketLifecycleOutcome;
  214. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketMetricsConfigurationOutcome;
  215. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketOwnershipControlsOutcome;
  216. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketPolicyOutcome;
  217. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketReplicationOutcome;
  218. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketTaggingOutcome;
  219. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketWebsiteOutcome;
  220. typedef Aws::Utils::Outcome<DeleteObjectResult, S3Error> DeleteObjectOutcome;
  221. typedef Aws::Utils::Outcome<DeleteObjectTaggingResult, S3Error> DeleteObjectTaggingOutcome;
  222. typedef Aws::Utils::Outcome<DeleteObjectsResult, S3Error> DeleteObjectsOutcome;
  223. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeletePublicAccessBlockOutcome;
  224. typedef Aws::Utils::Outcome<GetBucketAccelerateConfigurationResult, S3Error> GetBucketAccelerateConfigurationOutcome;
  225. typedef Aws::Utils::Outcome<GetBucketAclResult, S3Error> GetBucketAclOutcome;
  226. typedef Aws::Utils::Outcome<GetBucketAnalyticsConfigurationResult, S3Error> GetBucketAnalyticsConfigurationOutcome;
  227. typedef Aws::Utils::Outcome<GetBucketCorsResult, S3Error> GetBucketCorsOutcome;
  228. typedef Aws::Utils::Outcome<GetBucketEncryptionResult, S3Error> GetBucketEncryptionOutcome;
  229. typedef Aws::Utils::Outcome<GetBucketIntelligentTieringConfigurationResult, S3Error> GetBucketIntelligentTieringConfigurationOutcome;
  230. typedef Aws::Utils::Outcome<GetBucketInventoryConfigurationResult, S3Error> GetBucketInventoryConfigurationOutcome;
  231. typedef Aws::Utils::Outcome<GetBucketLifecycleConfigurationResult, S3Error> GetBucketLifecycleConfigurationOutcome;
  232. typedef Aws::Utils::Outcome<GetBucketLocationResult, S3Error> GetBucketLocationOutcome;
  233. typedef Aws::Utils::Outcome<GetBucketLoggingResult, S3Error> GetBucketLoggingOutcome;
  234. typedef Aws::Utils::Outcome<GetBucketMetricsConfigurationResult, S3Error> GetBucketMetricsConfigurationOutcome;
  235. typedef Aws::Utils::Outcome<GetBucketNotificationConfigurationResult, S3Error> GetBucketNotificationConfigurationOutcome;
  236. typedef Aws::Utils::Outcome<GetBucketOwnershipControlsResult, S3Error> GetBucketOwnershipControlsOutcome;
  237. typedef Aws::Utils::Outcome<GetBucketPolicyResult, S3Error> GetBucketPolicyOutcome;
  238. typedef Aws::Utils::Outcome<GetBucketPolicyStatusResult, S3Error> GetBucketPolicyStatusOutcome;
  239. typedef Aws::Utils::Outcome<GetBucketReplicationResult, S3Error> GetBucketReplicationOutcome;
  240. typedef Aws::Utils::Outcome<GetBucketRequestPaymentResult, S3Error> GetBucketRequestPaymentOutcome;
  241. typedef Aws::Utils::Outcome<GetBucketTaggingResult, S3Error> GetBucketTaggingOutcome;
  242. typedef Aws::Utils::Outcome<GetBucketVersioningResult, S3Error> GetBucketVersioningOutcome;
  243. typedef Aws::Utils::Outcome<GetBucketWebsiteResult, S3Error> GetBucketWebsiteOutcome;
  244. typedef Aws::Utils::Outcome<GetObjectResult, S3Error> GetObjectOutcome;
  245. typedef Aws::Utils::Outcome<GetObjectAclResult, S3Error> GetObjectAclOutcome;
  246. typedef Aws::Utils::Outcome<GetObjectAttributesResult, S3Error> GetObjectAttributesOutcome;
  247. typedef Aws::Utils::Outcome<GetObjectLegalHoldResult, S3Error> GetObjectLegalHoldOutcome;
  248. typedef Aws::Utils::Outcome<GetObjectLockConfigurationResult, S3Error> GetObjectLockConfigurationOutcome;
  249. typedef Aws::Utils::Outcome<GetObjectRetentionResult, S3Error> GetObjectRetentionOutcome;
  250. typedef Aws::Utils::Outcome<GetObjectTaggingResult, S3Error> GetObjectTaggingOutcome;
  251. typedef Aws::Utils::Outcome<GetObjectTorrentResult, S3Error> GetObjectTorrentOutcome;
  252. typedef Aws::Utils::Outcome<GetPublicAccessBlockResult, S3Error> GetPublicAccessBlockOutcome;
  253. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> HeadBucketOutcome;
  254. typedef Aws::Utils::Outcome<HeadObjectResult, S3Error> HeadObjectOutcome;
  255. typedef Aws::Utils::Outcome<ListBucketAnalyticsConfigurationsResult, S3Error> ListBucketAnalyticsConfigurationsOutcome;
  256. typedef Aws::Utils::Outcome<ListBucketIntelligentTieringConfigurationsResult, S3Error> ListBucketIntelligentTieringConfigurationsOutcome;
  257. typedef Aws::Utils::Outcome<ListBucketInventoryConfigurationsResult, S3Error> ListBucketInventoryConfigurationsOutcome;
  258. typedef Aws::Utils::Outcome<ListBucketMetricsConfigurationsResult, S3Error> ListBucketMetricsConfigurationsOutcome;
  259. typedef Aws::Utils::Outcome<ListBucketsResult, S3Error> ListBucketsOutcome;
  260. typedef Aws::Utils::Outcome<ListMultipartUploadsResult, S3Error> ListMultipartUploadsOutcome;
  261. typedef Aws::Utils::Outcome<ListObjectVersionsResult, S3Error> ListObjectVersionsOutcome;
  262. typedef Aws::Utils::Outcome<ListObjectsResult, S3Error> ListObjectsOutcome;
  263. typedef Aws::Utils::Outcome<ListObjectsV2Result, S3Error> ListObjectsV2Outcome;
  264. typedef Aws::Utils::Outcome<ListPartsResult, S3Error> ListPartsOutcome;
  265. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketAccelerateConfigurationOutcome;
  266. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketAclOutcome;
  267. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketAnalyticsConfigurationOutcome;
  268. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketCorsOutcome;
  269. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketEncryptionOutcome;
  270. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketIntelligentTieringConfigurationOutcome;
  271. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketInventoryConfigurationOutcome;
  272. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketLifecycleConfigurationOutcome;
  273. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketLoggingOutcome;
  274. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketMetricsConfigurationOutcome;
  275. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketNotificationConfigurationOutcome;
  276. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketOwnershipControlsOutcome;
  277. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketPolicyOutcome;
  278. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketReplicationOutcome;
  279. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketRequestPaymentOutcome;
  280. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketTaggingOutcome;
  281. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketVersioningOutcome;
  282. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketWebsiteOutcome;
  283. typedef Aws::Utils::Outcome<PutObjectResult, S3Error> PutObjectOutcome;
  284. typedef Aws::Utils::Outcome<PutObjectAclResult, S3Error> PutObjectAclOutcome;
  285. typedef Aws::Utils::Outcome<PutObjectLegalHoldResult, S3Error> PutObjectLegalHoldOutcome;
  286. typedef Aws::Utils::Outcome<PutObjectLockConfigurationResult, S3Error> PutObjectLockConfigurationOutcome;
  287. typedef Aws::Utils::Outcome<PutObjectRetentionResult, S3Error> PutObjectRetentionOutcome;
  288. typedef Aws::Utils::Outcome<PutObjectTaggingResult, S3Error> PutObjectTaggingOutcome;
  289. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutPublicAccessBlockOutcome;
  290. typedef Aws::Utils::Outcome<RestoreObjectResult, S3Error> RestoreObjectOutcome;
  291. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> SelectObjectContentOutcome;
  292. typedef Aws::Utils::Outcome<UploadPartResult, S3Error> UploadPartOutcome;
  293. typedef Aws::Utils::Outcome<UploadPartCopyResult, S3Error> UploadPartCopyOutcome;
  294. typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> WriteGetObjectResponseOutcome;
  295. /* End of service model Outcome class definitions */
  296. /* Service model Outcome callable definitions */
  297. typedef std::future<AbortMultipartUploadOutcome> AbortMultipartUploadOutcomeCallable;
  298. typedef std::future<CompleteMultipartUploadOutcome> CompleteMultipartUploadOutcomeCallable;
  299. typedef std::future<CopyObjectOutcome> CopyObjectOutcomeCallable;
  300. typedef std::future<CreateBucketOutcome> CreateBucketOutcomeCallable;
  301. typedef std::future<CreateMultipartUploadOutcome> CreateMultipartUploadOutcomeCallable;
  302. typedef std::future<DeleteBucketOutcome> DeleteBucketOutcomeCallable;
  303. typedef std::future<DeleteBucketAnalyticsConfigurationOutcome> DeleteBucketAnalyticsConfigurationOutcomeCallable;
  304. typedef std::future<DeleteBucketCorsOutcome> DeleteBucketCorsOutcomeCallable;
  305. typedef std::future<DeleteBucketEncryptionOutcome> DeleteBucketEncryptionOutcomeCallable;
  306. typedef std::future<DeleteBucketIntelligentTieringConfigurationOutcome> DeleteBucketIntelligentTieringConfigurationOutcomeCallable;
  307. typedef std::future<DeleteBucketInventoryConfigurationOutcome> DeleteBucketInventoryConfigurationOutcomeCallable;
  308. typedef std::future<DeleteBucketLifecycleOutcome> DeleteBucketLifecycleOutcomeCallable;
  309. typedef std::future<DeleteBucketMetricsConfigurationOutcome> DeleteBucketMetricsConfigurationOutcomeCallable;
  310. typedef std::future<DeleteBucketOwnershipControlsOutcome> DeleteBucketOwnershipControlsOutcomeCallable;
  311. typedef std::future<DeleteBucketPolicyOutcome> DeleteBucketPolicyOutcomeCallable;
  312. typedef std::future<DeleteBucketReplicationOutcome> DeleteBucketReplicationOutcomeCallable;
  313. typedef std::future<DeleteBucketTaggingOutcome> DeleteBucketTaggingOutcomeCallable;
  314. typedef std::future<DeleteBucketWebsiteOutcome> DeleteBucketWebsiteOutcomeCallable;
  315. typedef std::future<DeleteObjectOutcome> DeleteObjectOutcomeCallable;
  316. typedef std::future<DeleteObjectTaggingOutcome> DeleteObjectTaggingOutcomeCallable;
  317. typedef std::future<DeleteObjectsOutcome> DeleteObjectsOutcomeCallable;
  318. typedef std::future<DeletePublicAccessBlockOutcome> DeletePublicAccessBlockOutcomeCallable;
  319. typedef std::future<GetBucketAccelerateConfigurationOutcome> GetBucketAccelerateConfigurationOutcomeCallable;
  320. typedef std::future<GetBucketAclOutcome> GetBucketAclOutcomeCallable;
  321. typedef std::future<GetBucketAnalyticsConfigurationOutcome> GetBucketAnalyticsConfigurationOutcomeCallable;
  322. typedef std::future<GetBucketCorsOutcome> GetBucketCorsOutcomeCallable;
  323. typedef std::future<GetBucketEncryptionOutcome> GetBucketEncryptionOutcomeCallable;
  324. typedef std::future<GetBucketIntelligentTieringConfigurationOutcome> GetBucketIntelligentTieringConfigurationOutcomeCallable;
  325. typedef std::future<GetBucketInventoryConfigurationOutcome> GetBucketInventoryConfigurationOutcomeCallable;
  326. typedef std::future<GetBucketLifecycleConfigurationOutcome> GetBucketLifecycleConfigurationOutcomeCallable;
  327. typedef std::future<GetBucketLocationOutcome> GetBucketLocationOutcomeCallable;
  328. typedef std::future<GetBucketLoggingOutcome> GetBucketLoggingOutcomeCallable;
  329. typedef std::future<GetBucketMetricsConfigurationOutcome> GetBucketMetricsConfigurationOutcomeCallable;
  330. typedef std::future<GetBucketNotificationConfigurationOutcome> GetBucketNotificationConfigurationOutcomeCallable;
  331. typedef std::future<GetBucketOwnershipControlsOutcome> GetBucketOwnershipControlsOutcomeCallable;
  332. typedef std::future<GetBucketPolicyOutcome> GetBucketPolicyOutcomeCallable;
  333. typedef std::future<GetBucketPolicyStatusOutcome> GetBucketPolicyStatusOutcomeCallable;
  334. typedef std::future<GetBucketReplicationOutcome> GetBucketReplicationOutcomeCallable;
  335. typedef std::future<GetBucketRequestPaymentOutcome> GetBucketRequestPaymentOutcomeCallable;
  336. typedef std::future<GetBucketTaggingOutcome> GetBucketTaggingOutcomeCallable;
  337. typedef std::future<GetBucketVersioningOutcome> GetBucketVersioningOutcomeCallable;
  338. typedef std::future<GetBucketWebsiteOutcome> GetBucketWebsiteOutcomeCallable;
  339. typedef std::future<GetObjectOutcome> GetObjectOutcomeCallable;
  340. typedef std::future<GetObjectAclOutcome> GetObjectAclOutcomeCallable;
  341. typedef std::future<GetObjectAttributesOutcome> GetObjectAttributesOutcomeCallable;
  342. typedef std::future<GetObjectLegalHoldOutcome> GetObjectLegalHoldOutcomeCallable;
  343. typedef std::future<GetObjectLockConfigurationOutcome> GetObjectLockConfigurationOutcomeCallable;
  344. typedef std::future<GetObjectRetentionOutcome> GetObjectRetentionOutcomeCallable;
  345. typedef std::future<GetObjectTaggingOutcome> GetObjectTaggingOutcomeCallable;
  346. typedef std::future<GetObjectTorrentOutcome> GetObjectTorrentOutcomeCallable;
  347. typedef std::future<GetPublicAccessBlockOutcome> GetPublicAccessBlockOutcomeCallable;
  348. typedef std::future<HeadBucketOutcome> HeadBucketOutcomeCallable;
  349. typedef std::future<HeadObjectOutcome> HeadObjectOutcomeCallable;
  350. typedef std::future<ListBucketAnalyticsConfigurationsOutcome> ListBucketAnalyticsConfigurationsOutcomeCallable;
  351. typedef std::future<ListBucketIntelligentTieringConfigurationsOutcome> ListBucketIntelligentTieringConfigurationsOutcomeCallable;
  352. typedef std::future<ListBucketInventoryConfigurationsOutcome> ListBucketInventoryConfigurationsOutcomeCallable;
  353. typedef std::future<ListBucketMetricsConfigurationsOutcome> ListBucketMetricsConfigurationsOutcomeCallable;
  354. typedef std::future<ListBucketsOutcome> ListBucketsOutcomeCallable;
  355. typedef std::future<ListMultipartUploadsOutcome> ListMultipartUploadsOutcomeCallable;
  356. typedef std::future<ListObjectVersionsOutcome> ListObjectVersionsOutcomeCallable;
  357. typedef std::future<ListObjectsOutcome> ListObjectsOutcomeCallable;
  358. typedef std::future<ListObjectsV2Outcome> ListObjectsV2OutcomeCallable;
  359. typedef std::future<ListPartsOutcome> ListPartsOutcomeCallable;
  360. typedef std::future<PutBucketAccelerateConfigurationOutcome> PutBucketAccelerateConfigurationOutcomeCallable;
  361. typedef std::future<PutBucketAclOutcome> PutBucketAclOutcomeCallable;
  362. typedef std::future<PutBucketAnalyticsConfigurationOutcome> PutBucketAnalyticsConfigurationOutcomeCallable;
  363. typedef std::future<PutBucketCorsOutcome> PutBucketCorsOutcomeCallable;
  364. typedef std::future<PutBucketEncryptionOutcome> PutBucketEncryptionOutcomeCallable;
  365. typedef std::future<PutBucketIntelligentTieringConfigurationOutcome> PutBucketIntelligentTieringConfigurationOutcomeCallable;
  366. typedef std::future<PutBucketInventoryConfigurationOutcome> PutBucketInventoryConfigurationOutcomeCallable;
  367. typedef std::future<PutBucketLifecycleConfigurationOutcome> PutBucketLifecycleConfigurationOutcomeCallable;
  368. typedef std::future<PutBucketLoggingOutcome> PutBucketLoggingOutcomeCallable;
  369. typedef std::future<PutBucketMetricsConfigurationOutcome> PutBucketMetricsConfigurationOutcomeCallable;
  370. typedef std::future<PutBucketNotificationConfigurationOutcome> PutBucketNotificationConfigurationOutcomeCallable;
  371. typedef std::future<PutBucketOwnershipControlsOutcome> PutBucketOwnershipControlsOutcomeCallable;
  372. typedef std::future<PutBucketPolicyOutcome> PutBucketPolicyOutcomeCallable;
  373. typedef std::future<PutBucketReplicationOutcome> PutBucketReplicationOutcomeCallable;
  374. typedef std::future<PutBucketRequestPaymentOutcome> PutBucketRequestPaymentOutcomeCallable;
  375. typedef std::future<PutBucketTaggingOutcome> PutBucketTaggingOutcomeCallable;
  376. typedef std::future<PutBucketVersioningOutcome> PutBucketVersioningOutcomeCallable;
  377. typedef std::future<PutBucketWebsiteOutcome> PutBucketWebsiteOutcomeCallable;
  378. typedef std::future<PutObjectOutcome> PutObjectOutcomeCallable;
  379. typedef std::future<PutObjectAclOutcome> PutObjectAclOutcomeCallable;
  380. typedef std::future<PutObjectLegalHoldOutcome> PutObjectLegalHoldOutcomeCallable;
  381. typedef std::future<PutObjectLockConfigurationOutcome> PutObjectLockConfigurationOutcomeCallable;
  382. typedef std::future<PutObjectRetentionOutcome> PutObjectRetentionOutcomeCallable;
  383. typedef std::future<PutObjectTaggingOutcome> PutObjectTaggingOutcomeCallable;
  384. typedef std::future<PutPublicAccessBlockOutcome> PutPublicAccessBlockOutcomeCallable;
  385. typedef std::future<RestoreObjectOutcome> RestoreObjectOutcomeCallable;
  386. typedef std::future<SelectObjectContentOutcome> SelectObjectContentOutcomeCallable;
  387. typedef std::future<UploadPartOutcome> UploadPartOutcomeCallable;
  388. typedef std::future<UploadPartCopyOutcome> UploadPartCopyOutcomeCallable;
  389. typedef std::future<WriteGetObjectResponseOutcome> WriteGetObjectResponseOutcomeCallable;
  390. /* End of service model Outcome callable definitions */
  391. } // namespace Model
  392. class S3Client;
  393. /* Service model async handlers definitions */
  394. typedef std::function<void(const S3Client*, const Model::AbortMultipartUploadRequest&, const Model::AbortMultipartUploadOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AbortMultipartUploadResponseReceivedHandler;
  395. typedef std::function<void(const S3Client*, const Model::CompleteMultipartUploadRequest&, const Model::CompleteMultipartUploadOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CompleteMultipartUploadResponseReceivedHandler;
  396. typedef std::function<void(const S3Client*, const Model::CopyObjectRequest&, const Model::CopyObjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CopyObjectResponseReceivedHandler;
  397. typedef std::function<void(const S3Client*, const Model::CreateBucketRequest&, const Model::CreateBucketOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateBucketResponseReceivedHandler;
  398. typedef std::function<void(const S3Client*, const Model::CreateMultipartUploadRequest&, const Model::CreateMultipartUploadOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateMultipartUploadResponseReceivedHandler;
  399. typedef std::function<void(const S3Client*, const Model::DeleteBucketRequest&, const Model::DeleteBucketOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketResponseReceivedHandler;
  400. typedef std::function<void(const S3Client*, const Model::DeleteBucketAnalyticsConfigurationRequest&, const Model::DeleteBucketAnalyticsConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketAnalyticsConfigurationResponseReceivedHandler;
  401. typedef std::function<void(const S3Client*, const Model::DeleteBucketCorsRequest&, const Model::DeleteBucketCorsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketCorsResponseReceivedHandler;
  402. typedef std::function<void(const S3Client*, const Model::DeleteBucketEncryptionRequest&, const Model::DeleteBucketEncryptionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketEncryptionResponseReceivedHandler;
  403. typedef std::function<void(const S3Client*, const Model::DeleteBucketIntelligentTieringConfigurationRequest&, const Model::DeleteBucketIntelligentTieringConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketIntelligentTieringConfigurationResponseReceivedHandler;
  404. typedef std::function<void(const S3Client*, const Model::DeleteBucketInventoryConfigurationRequest&, const Model::DeleteBucketInventoryConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketInventoryConfigurationResponseReceivedHandler;
  405. typedef std::function<void(const S3Client*, const Model::DeleteBucketLifecycleRequest&, const Model::DeleteBucketLifecycleOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketLifecycleResponseReceivedHandler;
  406. typedef std::function<void(const S3Client*, const Model::DeleteBucketMetricsConfigurationRequest&, const Model::DeleteBucketMetricsConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketMetricsConfigurationResponseReceivedHandler;
  407. typedef std::function<void(const S3Client*, const Model::DeleteBucketOwnershipControlsRequest&, const Model::DeleteBucketOwnershipControlsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketOwnershipControlsResponseReceivedHandler;
  408. typedef std::function<void(const S3Client*, const Model::DeleteBucketPolicyRequest&, const Model::DeleteBucketPolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketPolicyResponseReceivedHandler;
  409. typedef std::function<void(const S3Client*, const Model::DeleteBucketReplicationRequest&, const Model::DeleteBucketReplicationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketReplicationResponseReceivedHandler;
  410. typedef std::function<void(const S3Client*, const Model::DeleteBucketTaggingRequest&, const Model::DeleteBucketTaggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketTaggingResponseReceivedHandler;
  411. typedef std::function<void(const S3Client*, const Model::DeleteBucketWebsiteRequest&, const Model::DeleteBucketWebsiteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketWebsiteResponseReceivedHandler;
  412. typedef std::function<void(const S3Client*, const Model::DeleteObjectRequest&, const Model::DeleteObjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteObjectResponseReceivedHandler;
  413. typedef std::function<void(const S3Client*, const Model::DeleteObjectTaggingRequest&, const Model::DeleteObjectTaggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteObjectTaggingResponseReceivedHandler;
  414. typedef std::function<void(const S3Client*, const Model::DeleteObjectsRequest&, const Model::DeleteObjectsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteObjectsResponseReceivedHandler;
  415. typedef std::function<void(const S3Client*, const Model::DeletePublicAccessBlockRequest&, const Model::DeletePublicAccessBlockOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeletePublicAccessBlockResponseReceivedHandler;
  416. typedef std::function<void(const S3Client*, const Model::GetBucketAccelerateConfigurationRequest&, const Model::GetBucketAccelerateConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketAccelerateConfigurationResponseReceivedHandler;
  417. typedef std::function<void(const S3Client*, const Model::GetBucketAclRequest&, const Model::GetBucketAclOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketAclResponseReceivedHandler;
  418. typedef std::function<void(const S3Client*, const Model::GetBucketAnalyticsConfigurationRequest&, const Model::GetBucketAnalyticsConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketAnalyticsConfigurationResponseReceivedHandler;
  419. typedef std::function<void(const S3Client*, const Model::GetBucketCorsRequest&, const Model::GetBucketCorsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketCorsResponseReceivedHandler;
  420. typedef std::function<void(const S3Client*, const Model::GetBucketEncryptionRequest&, const Model::GetBucketEncryptionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketEncryptionResponseReceivedHandler;
  421. typedef std::function<void(const S3Client*, const Model::GetBucketIntelligentTieringConfigurationRequest&, const Model::GetBucketIntelligentTieringConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketIntelligentTieringConfigurationResponseReceivedHandler;
  422. typedef std::function<void(const S3Client*, const Model::GetBucketInventoryConfigurationRequest&, const Model::GetBucketInventoryConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketInventoryConfigurationResponseReceivedHandler;
  423. typedef std::function<void(const S3Client*, const Model::GetBucketLifecycleConfigurationRequest&, const Model::GetBucketLifecycleConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketLifecycleConfigurationResponseReceivedHandler;
  424. typedef std::function<void(const S3Client*, const Model::GetBucketLocationRequest&, const Model::GetBucketLocationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketLocationResponseReceivedHandler;
  425. typedef std::function<void(const S3Client*, const Model::GetBucketLoggingRequest&, const Model::GetBucketLoggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketLoggingResponseReceivedHandler;
  426. typedef std::function<void(const S3Client*, const Model::GetBucketMetricsConfigurationRequest&, const Model::GetBucketMetricsConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketMetricsConfigurationResponseReceivedHandler;
  427. typedef std::function<void(const S3Client*, const Model::GetBucketNotificationConfigurationRequest&, const Model::GetBucketNotificationConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketNotificationConfigurationResponseReceivedHandler;
  428. typedef std::function<void(const S3Client*, const Model::GetBucketOwnershipControlsRequest&, const Model::GetBucketOwnershipControlsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketOwnershipControlsResponseReceivedHandler;
  429. typedef std::function<void(const S3Client*, const Model::GetBucketPolicyRequest&, Model::GetBucketPolicyOutcome, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketPolicyResponseReceivedHandler;
  430. typedef std::function<void(const S3Client*, const Model::GetBucketPolicyStatusRequest&, const Model::GetBucketPolicyStatusOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketPolicyStatusResponseReceivedHandler;
  431. typedef std::function<void(const S3Client*, const Model::GetBucketReplicationRequest&, const Model::GetBucketReplicationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketReplicationResponseReceivedHandler;
  432. typedef std::function<void(const S3Client*, const Model::GetBucketRequestPaymentRequest&, const Model::GetBucketRequestPaymentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketRequestPaymentResponseReceivedHandler;
  433. typedef std::function<void(const S3Client*, const Model::GetBucketTaggingRequest&, const Model::GetBucketTaggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketTaggingResponseReceivedHandler;
  434. typedef std::function<void(const S3Client*, const Model::GetBucketVersioningRequest&, const Model::GetBucketVersioningOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketVersioningResponseReceivedHandler;
  435. typedef std::function<void(const S3Client*, const Model::GetBucketWebsiteRequest&, const Model::GetBucketWebsiteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketWebsiteResponseReceivedHandler;
  436. typedef std::function<void(const S3Client*, const Model::GetObjectRequest&, Model::GetObjectOutcome, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectResponseReceivedHandler;
  437. typedef std::function<void(const S3Client*, const Model::GetObjectAclRequest&, const Model::GetObjectAclOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectAclResponseReceivedHandler;
  438. typedef std::function<void(const S3Client*, const Model::GetObjectAttributesRequest&, const Model::GetObjectAttributesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectAttributesResponseReceivedHandler;
  439. typedef std::function<void(const S3Client*, const Model::GetObjectLegalHoldRequest&, const Model::GetObjectLegalHoldOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectLegalHoldResponseReceivedHandler;
  440. typedef std::function<void(const S3Client*, const Model::GetObjectLockConfigurationRequest&, const Model::GetObjectLockConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectLockConfigurationResponseReceivedHandler;
  441. typedef std::function<void(const S3Client*, const Model::GetObjectRetentionRequest&, const Model::GetObjectRetentionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectRetentionResponseReceivedHandler;
  442. typedef std::function<void(const S3Client*, const Model::GetObjectTaggingRequest&, const Model::GetObjectTaggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectTaggingResponseReceivedHandler;
  443. typedef std::function<void(const S3Client*, const Model::GetObjectTorrentRequest&, Model::GetObjectTorrentOutcome, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectTorrentResponseReceivedHandler;
  444. typedef std::function<void(const S3Client*, const Model::GetPublicAccessBlockRequest&, const Model::GetPublicAccessBlockOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetPublicAccessBlockResponseReceivedHandler;
  445. typedef std::function<void(const S3Client*, const Model::HeadBucketRequest&, const Model::HeadBucketOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > HeadBucketResponseReceivedHandler;
  446. typedef std::function<void(const S3Client*, const Model::HeadObjectRequest&, const Model::HeadObjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > HeadObjectResponseReceivedHandler;
  447. typedef std::function<void(const S3Client*, const Model::ListBucketAnalyticsConfigurationsRequest&, const Model::ListBucketAnalyticsConfigurationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListBucketAnalyticsConfigurationsResponseReceivedHandler;
  448. typedef std::function<void(const S3Client*, const Model::ListBucketIntelligentTieringConfigurationsRequest&, const Model::ListBucketIntelligentTieringConfigurationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListBucketIntelligentTieringConfigurationsResponseReceivedHandler;
  449. typedef std::function<void(const S3Client*, const Model::ListBucketInventoryConfigurationsRequest&, const Model::ListBucketInventoryConfigurationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListBucketInventoryConfigurationsResponseReceivedHandler;
  450. typedef std::function<void(const S3Client*, const Model::ListBucketMetricsConfigurationsRequest&, const Model::ListBucketMetricsConfigurationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListBucketMetricsConfigurationsResponseReceivedHandler;
  451. typedef std::function<void(const S3Client*, const Model::ListBucketsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListBucketsResponseReceivedHandler;
  452. typedef std::function<void(const S3Client*, const Model::ListMultipartUploadsRequest&, const Model::ListMultipartUploadsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListMultipartUploadsResponseReceivedHandler;
  453. typedef std::function<void(const S3Client*, const Model::ListObjectVersionsRequest&, const Model::ListObjectVersionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListObjectVersionsResponseReceivedHandler;
  454. typedef std::function<void(const S3Client*, const Model::ListObjectsRequest&, const Model::ListObjectsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListObjectsResponseReceivedHandler;
  455. typedef std::function<void(const S3Client*, const Model::ListObjectsV2Request&, const Model::ListObjectsV2Outcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListObjectsV2ResponseReceivedHandler;
  456. typedef std::function<void(const S3Client*, const Model::ListPartsRequest&, const Model::ListPartsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListPartsResponseReceivedHandler;
  457. typedef std::function<void(const S3Client*, const Model::PutBucketAccelerateConfigurationRequest&, const Model::PutBucketAccelerateConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketAccelerateConfigurationResponseReceivedHandler;
  458. typedef std::function<void(const S3Client*, const Model::PutBucketAclRequest&, const Model::PutBucketAclOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketAclResponseReceivedHandler;
  459. typedef std::function<void(const S3Client*, const Model::PutBucketAnalyticsConfigurationRequest&, const Model::PutBucketAnalyticsConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketAnalyticsConfigurationResponseReceivedHandler;
  460. typedef std::function<void(const S3Client*, const Model::PutBucketCorsRequest&, const Model::PutBucketCorsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketCorsResponseReceivedHandler;
  461. typedef std::function<void(const S3Client*, const Model::PutBucketEncryptionRequest&, const Model::PutBucketEncryptionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketEncryptionResponseReceivedHandler;
  462. typedef std::function<void(const S3Client*, const Model::PutBucketIntelligentTieringConfigurationRequest&, const Model::PutBucketIntelligentTieringConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketIntelligentTieringConfigurationResponseReceivedHandler;
  463. typedef std::function<void(const S3Client*, const Model::PutBucketInventoryConfigurationRequest&, const Model::PutBucketInventoryConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketInventoryConfigurationResponseReceivedHandler;
  464. typedef std::function<void(const S3Client*, const Model::PutBucketLifecycleConfigurationRequest&, const Model::PutBucketLifecycleConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketLifecycleConfigurationResponseReceivedHandler;
  465. typedef std::function<void(const S3Client*, const Model::PutBucketLoggingRequest&, const Model::PutBucketLoggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketLoggingResponseReceivedHandler;
  466. typedef std::function<void(const S3Client*, const Model::PutBucketMetricsConfigurationRequest&, const Model::PutBucketMetricsConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketMetricsConfigurationResponseReceivedHandler;
  467. typedef std::function<void(const S3Client*, const Model::PutBucketNotificationConfigurationRequest&, const Model::PutBucketNotificationConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketNotificationConfigurationResponseReceivedHandler;
  468. typedef std::function<void(const S3Client*, const Model::PutBucketOwnershipControlsRequest&, const Model::PutBucketOwnershipControlsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketOwnershipControlsResponseReceivedHandler;
  469. typedef std::function<void(const S3Client*, const Model::PutBucketPolicyRequest&, const Model::PutBucketPolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketPolicyResponseReceivedHandler;
  470. typedef std::function<void(const S3Client*, const Model::PutBucketReplicationRequest&, const Model::PutBucketReplicationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketReplicationResponseReceivedHandler;
  471. typedef std::function<void(const S3Client*, const Model::PutBucketRequestPaymentRequest&, const Model::PutBucketRequestPaymentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketRequestPaymentResponseReceivedHandler;
  472. typedef std::function<void(const S3Client*, const Model::PutBucketTaggingRequest&, const Model::PutBucketTaggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketTaggingResponseReceivedHandler;
  473. typedef std::function<void(const S3Client*, const Model::PutBucketVersioningRequest&, const Model::PutBucketVersioningOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketVersioningResponseReceivedHandler;
  474. typedef std::function<void(const S3Client*, const Model::PutBucketWebsiteRequest&, const Model::PutBucketWebsiteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketWebsiteResponseReceivedHandler;
  475. typedef std::function<void(const S3Client*, const Model::PutObjectRequest&, const Model::PutObjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutObjectResponseReceivedHandler;
  476. typedef std::function<void(const S3Client*, const Model::PutObjectAclRequest&, const Model::PutObjectAclOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutObjectAclResponseReceivedHandler;
  477. typedef std::function<void(const S3Client*, const Model::PutObjectLegalHoldRequest&, const Model::PutObjectLegalHoldOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutObjectLegalHoldResponseReceivedHandler;
  478. typedef std::function<void(const S3Client*, const Model::PutObjectLockConfigurationRequest&, const Model::PutObjectLockConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutObjectLockConfigurationResponseReceivedHandler;
  479. typedef std::function<void(const S3Client*, const Model::PutObjectRetentionRequest&, const Model::PutObjectRetentionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutObjectRetentionResponseReceivedHandler;
  480. typedef std::function<void(const S3Client*, const Model::PutObjectTaggingRequest&, const Model::PutObjectTaggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutObjectTaggingResponseReceivedHandler;
  481. typedef std::function<void(const S3Client*, const Model::PutPublicAccessBlockRequest&, const Model::PutPublicAccessBlockOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutPublicAccessBlockResponseReceivedHandler;
  482. typedef std::function<void(const S3Client*, const Model::RestoreObjectRequest&, const Model::RestoreObjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RestoreObjectResponseReceivedHandler;
  483. typedef std::function<void(const S3Client*, const Model::SelectObjectContentRequest&, const Model::SelectObjectContentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SelectObjectContentResponseReceivedHandler;
  484. typedef std::function<void(const S3Client*, const Model::UploadPartRequest&, const Model::UploadPartOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UploadPartResponseReceivedHandler;
  485. typedef std::function<void(const S3Client*, const Model::UploadPartCopyRequest&, const Model::UploadPartCopyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UploadPartCopyResponseReceivedHandler;
  486. typedef std::function<void(const S3Client*, const Model::WriteGetObjectResponseRequest&, const Model::WriteGetObjectResponseOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > WriteGetObjectResponseResponseReceivedHandler;
  487. /* End of service model async handlers definitions */
  488. } // namespace S3
  489. } // namespace Aws