#pragma once #if ENABLE_S3 #include "ref.hh" namespace Aws { namespace Client { class ClientConfiguration; } } namespace Aws { namespace S3 { class S3Client; } } namespace nix { struct S3Helper { ref config; ref client; S3Helper(const std::string & profile, const std::string & region, const std::string & scheme, const std::string & endpoint); ref makeConfig(const std::string & region, const std::string & scheme, const std::string & endpoint); struct DownloadResult { std::shared_ptr data; unsigned int durationMs; }; DownloadResult getObject( const std::string & bucketName, const std::string & key); }; } #endif