8#if !defined(AWS_CREDENTIALS_PROVIDER)
9#define AWS_CREDENTIALS_PROVIDER
11#include <aws/core/Core_EXPORTS.h>
12#include <aws/core/utils/UnreferencedParam.h>
13#include <aws/core/utils/DateTime.h>
14#include <aws/core/utils/memory/stl/AWSMap.h>
15#include <aws/core/utils/memory/stl/AWSString.h>
16#include <aws/core/utils/threading/ReaderWriterLock.h>
17#include <aws/core/internal/AWSHttpResourceClient.h>
18#include <aws/core/auth/AWSCredentials.h>
19#include <aws/core/config/AWSProfileConfigLoader.h>
20#include <aws/core/client/RetryStrategy.h>
85 long long m_lastLoadedMs;
113 : m_credentials(awsAccessKeyId, awsSecretAccessKey, sessionToken)
120 : m_credentials(credentials)
128 return m_credentials;
194 void RefreshIfExpired();
198 long m_loadFrequencyMs;
234 bool ExpiresSoon()
const;
235 void RefreshIfExpired();
237 std::shared_ptr<Aws::Config::AWSProfileConfigLoader> m_ec2MetadataConfigLoader;
238 long m_loadFrequencyMs;
276 void RefreshIfExpired();
287#include <aws/core/auth/GeneralHTTPCredentialsProvider.h>
Aws::Utils::Threading::ReaderWriterLock m_reloadLock
virtual AWSCredentials GetAWSCredentials()=0
virtual bool IsTimeToRefresh(long reloadFrequency)
virtual ~AWSCredentialsProvider()=default
AWSCredentials GetAWSCredentials() override
AWSCredentials GetAWSCredentials() override
InstanceProfileCredentialsProvider(long refreshRateMs=REFRESH_THRESHOLD)
InstanceProfileCredentialsProvider(const std::shared_ptr< Aws::Config::EC2InstanceProfileConfigLoader > &, long refreshRateMs=REFRESH_THRESHOLD)
AWSCredentials GetAWSCredentials() override
InstanceProfileCredentialsProvider(const Aws::Client::ClientConfiguration::CredentialProviderConfiguration &credentialProviderConfig, long refreshRateMs=REFRESH_THRESHOLD)
ProcessCredentialsProvider()
ProcessCredentialsProvider(const Aws::String &profile)
AWSCredentials GetAWSCredentials() override
static Aws::String GetProfileDirectory()
static Aws::String GetCredentialsProfileFilename()
ProfileConfigFileAWSCredentialsProvider(long refreshRateMs=REFRESH_THRESHOLD)
AWSCredentials GetAWSCredentials() override
ProfileConfigFileAWSCredentialsProvider(const char *profile, long refreshRateMs=REFRESH_THRESHOLD)
SimpleAWSCredentialsProvider(const AWSCredentials &credentials)
AWSCredentials GetAWSCredentials() override
SimpleAWSCredentialsProvider(const Aws::String &awsAccessKeyId, const Aws::String &awsSecretAccessKey, const Aws::String &sessionToken="")
constexpr int REFRESH_THRESHOLD
AWS_CORE_API Aws::String GetConfigProfileName()
AWS_CORE_API Aws::String GetConfigProfileFilename()
constexpr int AWS_CREDENTIAL_PROVIDER_EXPIRATION_GRACE_PERIOD
AWS_CORE_API AWSCredentials GetCredentialsFromProcess(const Aws::String &process)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String