template<typename AbortMultipartUploadRequestT = Model::AbortMultipartUploadRequest>
template<typename AbortMultipartUploadRequestT = Model::AbortMultipartUploadRequest>
template<typename CompleteMultipartUploadRequestT = Model::CompleteMultipartUploadRequest>
template<typename CompleteMultipartUploadRequestT = Model::CompleteMultipartUploadRequest>
template<typename CreateBucketRequestT = Model::CreateBucketRequest>
template<typename CreateBucketRequestT = Model::CreateBucketRequest>
template<typename CreateMultipartUploadRequestT = Model::CreateMultipartUploadRequest>
template<typename CreateMultipartUploadRequestT = Model::CreateMultipartUploadRequest>
template<typename CreateSessionRequestT = Model::CreateSessionRequest>
template<typename CreateSessionRequestT = Model::CreateSessionRequest>
template<typename DeleteBucketRequestT = Model::DeleteBucketRequest>
template<typename DeleteBucketRequestT = Model::DeleteBucketRequest>
template<typename DeleteBucketAnalyticsConfigurationRequestT = Model::DeleteBucketAnalyticsConfigurationRequest>
template<typename DeleteBucketAnalyticsConfigurationRequestT = Model::DeleteBucketAnalyticsConfigurationRequest>
template<typename DeleteBucketCorsRequestT = Model::DeleteBucketCorsRequest>
template<typename DeleteBucketCorsRequestT = Model::DeleteBucketCorsRequest>
template<typename DeleteBucketEncryptionRequestT = Model::DeleteBucketEncryptionRequest>
template<typename DeleteBucketEncryptionRequestT = Model::DeleteBucketEncryptionRequest>
template<typename DeleteBucketIntelligentTieringConfigurationRequestT = Model::DeleteBucketIntelligentTieringConfigurationRequest>
template<typename DeleteBucketIntelligentTieringConfigurationRequestT = Model::DeleteBucketIntelligentTieringConfigurationRequest>
template<typename DeleteBucketInventoryConfigurationRequestT = Model::DeleteBucketInventoryConfigurationRequest>
template<typename DeleteBucketInventoryConfigurationRequestT = Model::DeleteBucketInventoryConfigurationRequest>
template<typename DeleteBucketLifecycleRequestT = Model::DeleteBucketLifecycleRequest>
template<typename DeleteBucketLifecycleRequestT = Model::DeleteBucketLifecycleRequest>
template<typename DeleteBucketMetricsConfigurationRequestT = Model::DeleteBucketMetricsConfigurationRequest>
template<typename DeleteBucketMetricsConfigurationRequestT = Model::DeleteBucketMetricsConfigurationRequest>
template<typename DeleteBucketOwnershipControlsRequestT = Model::DeleteBucketOwnershipControlsRequest>
template<typename DeleteBucketOwnershipControlsRequestT = Model::DeleteBucketOwnershipControlsRequest>
template<typename DeleteBucketPolicyRequestT = Model::DeleteBucketPolicyRequest>
template<typename DeleteBucketPolicyRequestT = Model::DeleteBucketPolicyRequest>
template<typename DeleteBucketReplicationRequestT = Model::DeleteBucketReplicationRequest>
template<typename DeleteBucketReplicationRequestT = Model::DeleteBucketReplicationRequest>
template<typename DeleteBucketTaggingRequestT = Model::DeleteBucketTaggingRequest>
template<typename DeleteBucketTaggingRequestT = Model::DeleteBucketTaggingRequest>
template<typename DeleteBucketWebsiteRequestT = Model::DeleteBucketWebsiteRequest>
template<typename DeleteBucketWebsiteRequestT = Model::DeleteBucketWebsiteRequest>
template<typename DeleteObjectRequestT = Model::DeleteObjectRequest>
template<typename DeleteObjectRequestT = Model::DeleteObjectRequest>
template<typename DeleteObjectTaggingRequestT = Model::DeleteObjectTaggingRequest>
template<typename DeleteObjectTaggingRequestT = Model::DeleteObjectTaggingRequest>
template<typename DeleteObjectsRequestT = Model::DeleteObjectsRequest>
template<typename DeleteObjectsRequestT = Model::DeleteObjectsRequest>
template<typename DeletePublicAccessBlockRequestT = Model::DeletePublicAccessBlockRequest>
template<typename DeletePublicAccessBlockRequestT = Model::DeletePublicAccessBlockRequest>
template<typename GetBucketAccelerateConfigurationRequestT = Model::GetBucketAccelerateConfigurationRequest>
template<typename GetBucketAccelerateConfigurationRequestT = Model::GetBucketAccelerateConfigurationRequest>
template<typename GetBucketAclRequestT = Model::GetBucketAclRequest>
template<typename GetBucketAclRequestT = Model::GetBucketAclRequest>
template<typename GetBucketAnalyticsConfigurationRequestT = Model::GetBucketAnalyticsConfigurationRequest>
template<typename GetBucketAnalyticsConfigurationRequestT = Model::GetBucketAnalyticsConfigurationRequest>
template<typename GetBucketCorsRequestT = Model::GetBucketCorsRequest>
template<typename GetBucketCorsRequestT = Model::GetBucketCorsRequest>
template<typename GetBucketEncryptionRequestT = Model::GetBucketEncryptionRequest>
template<typename GetBucketEncryptionRequestT = Model::GetBucketEncryptionRequest>
template<typename GetBucketIntelligentTieringConfigurationRequestT = Model::GetBucketIntelligentTieringConfigurationRequest>
template<typename GetBucketIntelligentTieringConfigurationRequestT = Model::GetBucketIntelligentTieringConfigurationRequest>
template<typename GetBucketInventoryConfigurationRequestT = Model::GetBucketInventoryConfigurationRequest>
template<typename GetBucketInventoryConfigurationRequestT = Model::GetBucketInventoryConfigurationRequest>
template<typename GetBucketLifecycleConfigurationRequestT = Model::GetBucketLifecycleConfigurationRequest>
template<typename GetBucketLifecycleConfigurationRequestT = Model::GetBucketLifecycleConfigurationRequest>
template<typename GetBucketLocationRequestT = Model::GetBucketLocationRequest>
template<typename GetBucketLocationRequestT = Model::GetBucketLocationRequest>
template<typename GetBucketLoggingRequestT = Model::GetBucketLoggingRequest>
template<typename GetBucketLoggingRequestT = Model::GetBucketLoggingRequest>
template<typename GetBucketMetricsConfigurationRequestT = Model::GetBucketMetricsConfigurationRequest>
template<typename GetBucketMetricsConfigurationRequestT = Model::GetBucketMetricsConfigurationRequest>
template<typename GetBucketNotificationConfigurationRequestT = Model::GetBucketNotificationConfigurationRequest>
template<typename GetBucketNotificationConfigurationRequestT = Model::GetBucketNotificationConfigurationRequest>
template<typename GetBucketOwnershipControlsRequestT = Model::GetBucketOwnershipControlsRequest>
template<typename GetBucketOwnershipControlsRequestT = Model::GetBucketOwnershipControlsRequest>
template<typename GetBucketPolicyRequestT = Model::GetBucketPolicyRequest>
template<typename GetBucketPolicyRequestT = Model::GetBucketPolicyRequest>
template<typename GetBucketPolicyStatusRequestT = Model::GetBucketPolicyStatusRequest>
template<typename GetBucketPolicyStatusRequestT = Model::GetBucketPolicyStatusRequest>
template<typename GetBucketReplicationRequestT = Model::GetBucketReplicationRequest>
template<typename GetBucketReplicationRequestT = Model::GetBucketReplicationRequest>
template<typename GetBucketRequestPaymentRequestT = Model::GetBucketRequestPaymentRequest>
template<typename GetBucketRequestPaymentRequestT = Model::GetBucketRequestPaymentRequest>
template<typename GetBucketTaggingRequestT = Model::GetBucketTaggingRequest>
template<typename GetBucketTaggingRequestT = Model::GetBucketTaggingRequest>
template<typename GetBucketVersioningRequestT = Model::GetBucketVersioningRequest>
template<typename GetBucketVersioningRequestT = Model::GetBucketVersioningRequest>
template<typename GetBucketWebsiteRequestT = Model::GetBucketWebsiteRequest>
template<typename GetBucketWebsiteRequestT = Model::GetBucketWebsiteRequest>
template<typename GetObjectAclRequestT = Model::GetObjectAclRequest>
template<typename GetObjectAclRequestT = Model::GetObjectAclRequest>
template<typename GetObjectAttributesRequestT = Model::GetObjectAttributesRequest>
template<typename GetObjectAttributesRequestT = Model::GetObjectAttributesRequest>
template<typename GetObjectLegalHoldRequestT = Model::GetObjectLegalHoldRequest>
template<typename GetObjectLegalHoldRequestT = Model::GetObjectLegalHoldRequest>
template<typename GetObjectLockConfigurationRequestT = Model::GetObjectLockConfigurationRequest>
template<typename GetObjectLockConfigurationRequestT = Model::GetObjectLockConfigurationRequest>
template<typename GetObjectRetentionRequestT = Model::GetObjectRetentionRequest>
template<typename GetObjectRetentionRequestT = Model::GetObjectRetentionRequest>
template<typename GetObjectTaggingRequestT = Model::GetObjectTaggingRequest>
template<typename GetObjectTaggingRequestT = Model::GetObjectTaggingRequest>
template<typename GetObjectTorrentRequestT = Model::GetObjectTorrentRequest>
template<typename GetObjectTorrentRequestT = Model::GetObjectTorrentRequest>
template<typename GetPublicAccessBlockRequestT = Model::GetPublicAccessBlockRequest>
template<typename GetPublicAccessBlockRequestT = Model::GetPublicAccessBlockRequest>
template<typename HeadBucketRequestT = Model::HeadBucketRequest>
template<typename HeadBucketRequestT = Model::HeadBucketRequest>
template<typename HeadObjectRequestT = Model::HeadObjectRequest>
template<typename HeadObjectRequestT = Model::HeadObjectRequest>
template<typename ListBucketAnalyticsConfigurationsRequestT = Model::ListBucketAnalyticsConfigurationsRequest>
template<typename ListBucketAnalyticsConfigurationsRequestT = Model::ListBucketAnalyticsConfigurationsRequest>
template<typename ListBucketIntelligentTieringConfigurationsRequestT = Model::ListBucketIntelligentTieringConfigurationsRequest>
template<typename ListBucketIntelligentTieringConfigurationsRequestT = Model::ListBucketIntelligentTieringConfigurationsRequest>
template<typename ListBucketInventoryConfigurationsRequestT = Model::ListBucketInventoryConfigurationsRequest>
template<typename ListBucketInventoryConfigurationsRequestT = Model::ListBucketInventoryConfigurationsRequest>
template<typename ListBucketMetricsConfigurationsRequestT = Model::ListBucketMetricsConfigurationsRequest>
template<typename ListBucketMetricsConfigurationsRequestT = Model::ListBucketMetricsConfigurationsRequest>
template<typename = void>
template<typename = void>
template<typename ListDirectoryBucketsRequestT = Model::ListDirectoryBucketsRequest>
template<typename ListDirectoryBucketsRequestT = Model::ListDirectoryBucketsRequest>
template<typename ListMultipartUploadsRequestT = Model::ListMultipartUploadsRequest>
template<typename ListMultipartUploadsRequestT = Model::ListMultipartUploadsRequest>
template<typename ListObjectVersionsRequestT = Model::ListObjectVersionsRequest>
template<typename ListObjectVersionsRequestT = Model::ListObjectVersionsRequest>
template<typename ListObjectsRequestT = Model::ListObjectsRequest>
template<typename ListObjectsRequestT = Model::ListObjectsRequest>
template<typename ListObjectsV2RequestT = Model::ListObjectsV2Request>
template<typename ListObjectsV2RequestT = Model::ListObjectsV2Request>
template<typename ListPartsRequestT = Model::ListPartsRequest>
template<typename ListPartsRequestT = Model::ListPartsRequest>
template<typename PutBucketAccelerateConfigurationRequestT = Model::PutBucketAccelerateConfigurationRequest>
template<typename PutBucketAccelerateConfigurationRequestT = Model::PutBucketAccelerateConfigurationRequest>
template<typename PutBucketAclRequestT = Model::PutBucketAclRequest>
template<typename PutBucketAclRequestT = Model::PutBucketAclRequest>
template<typename PutBucketAnalyticsConfigurationRequestT = Model::PutBucketAnalyticsConfigurationRequest>
template<typename PutBucketAnalyticsConfigurationRequestT = Model::PutBucketAnalyticsConfigurationRequest>
template<typename PutBucketCorsRequestT = Model::PutBucketCorsRequest>
template<typename PutBucketCorsRequestT = Model::PutBucketCorsRequest>
template<typename PutBucketEncryptionRequestT = Model::PutBucketEncryptionRequest>
template<typename PutBucketEncryptionRequestT = Model::PutBucketEncryptionRequest>
template<typename PutBucketIntelligentTieringConfigurationRequestT = Model::PutBucketIntelligentTieringConfigurationRequest>
template<typename PutBucketIntelligentTieringConfigurationRequestT = Model::PutBucketIntelligentTieringConfigurationRequest>
template<typename PutBucketInventoryConfigurationRequestT = Model::PutBucketInventoryConfigurationRequest>
template<typename PutBucketInventoryConfigurationRequestT = Model::PutBucketInventoryConfigurationRequest>
template<typename PutBucketLifecycleConfigurationRequestT = Model::PutBucketLifecycleConfigurationRequest>
template<typename PutBucketLifecycleConfigurationRequestT = Model::PutBucketLifecycleConfigurationRequest>
template<typename PutBucketLoggingRequestT = Model::PutBucketLoggingRequest>
template<typename PutBucketLoggingRequestT = Model::PutBucketLoggingRequest>
template<typename PutBucketMetricsConfigurationRequestT = Model::PutBucketMetricsConfigurationRequest>
template<typename PutBucketMetricsConfigurationRequestT = Model::PutBucketMetricsConfigurationRequest>
template<typename PutBucketNotificationConfigurationRequestT = Model::PutBucketNotificationConfigurationRequest>
template<typename PutBucketNotificationConfigurationRequestT = Model::PutBucketNotificationConfigurationRequest>
template<typename PutBucketOwnershipControlsRequestT = Model::PutBucketOwnershipControlsRequest>
template<typename PutBucketOwnershipControlsRequestT = Model::PutBucketOwnershipControlsRequest>
template<typename PutBucketPolicyRequestT = Model::PutBucketPolicyRequest>
template<typename PutBucketPolicyRequestT = Model::PutBucketPolicyRequest>
template<typename PutBucketReplicationRequestT = Model::PutBucketReplicationRequest>
template<typename PutBucketReplicationRequestT = Model::PutBucketReplicationRequest>
template<typename PutBucketRequestPaymentRequestT = Model::PutBucketRequestPaymentRequest>
template<typename PutBucketRequestPaymentRequestT = Model::PutBucketRequestPaymentRequest>
template<typename PutBucketTaggingRequestT = Model::PutBucketTaggingRequest>
template<typename PutBucketTaggingRequestT = Model::PutBucketTaggingRequest>
template<typename PutBucketVersioningRequestT = Model::PutBucketVersioningRequest>
template<typename PutBucketVersioningRequestT = Model::PutBucketVersioningRequest>
template<typename PutBucketWebsiteRequestT = Model::PutBucketWebsiteRequest>
template<typename PutBucketWebsiteRequestT = Model::PutBucketWebsiteRequest>
template<typename PutObjectAclRequestT = Model::PutObjectAclRequest>
template<typename PutObjectAclRequestT = Model::PutObjectAclRequest>
template<typename PutObjectLegalHoldRequestT = Model::PutObjectLegalHoldRequest>
template<typename PutObjectLegalHoldRequestT = Model::PutObjectLegalHoldRequest>
template<typename PutObjectLockConfigurationRequestT = Model::PutObjectLockConfigurationRequest>
template<typename PutObjectLockConfigurationRequestT = Model::PutObjectLockConfigurationRequest>
template<typename PutObjectRetentionRequestT = Model::PutObjectRetentionRequest>
template<typename PutObjectRetentionRequestT = Model::PutObjectRetentionRequest>
template<typename PutObjectTaggingRequestT = Model::PutObjectTaggingRequest>
template<typename PutObjectTaggingRequestT = Model::PutObjectTaggingRequest>
template<typename PutPublicAccessBlockRequestT = Model::PutPublicAccessBlockRequest>
template<typename PutPublicAccessBlockRequestT = Model::PutPublicAccessBlockRequest>
template<typename RestoreObjectRequestT = Model::RestoreObjectRequest>
template<typename RestoreObjectRequestT = Model::RestoreObjectRequest>
template<typename SelectObjectContentRequestT = Model::SelectObjectContentRequest>
template<typename SelectObjectContentRequestT = Model::SelectObjectContentRequest>
template<typename UploadPartRequestT = Model::UploadPartRequest>
template<typename UploadPartRequestT = Model::UploadPartRequest>
template<typename UploadPartCopyRequestT = Model::UploadPartCopyRequest>
template<typename UploadPartCopyRequestT = Model::UploadPartCopyRequest>
template<typename WriteGetObjectResponseRequestT = Model::WriteGetObjectResponseRequest>
template<typename WriteGetObjectResponseRequestT = Model::WriteGetObjectResponseRequest>
auto SubmitCallable (OperationFuncT operationFunc, const RequestT &request) const -> std::future< decltype((static_cast< const AwsServiceClientT * >(nullptr) -> *operationFunc)(request))>
auto SubmitCallable (OperationFuncT operationFunc, RequestT &request) const -> std::future< decltype((static_cast< const AwsServiceClientT * >(nullptr) -> *operationFunc)(request))>
auto SubmitCallable (OperationFuncT operationFunc) const -> std::future< decltype((static_cast< const AwsServiceClientT * >(nullptr) -> *operationFunc)())>