Go to the documentation of this file.
23 struct aws_credentials;
24 struct aws_credentials_provider;
65 ByteCursor GetSecretAccessKey() const noexcept;
75 explicit operator
bool() const noexcept;
80 aws_credentials *GetUnderlyingHandle() const noexcept {
return m_credentials; }
83 aws_credentials *m_credentials;
117 virtual
bool IsValid() const noexcept = 0;
149 : ProfileNameOverride{}, ConfigFileNameOverride{}, CredentialsFileNameOverride{}
266 virtual bool IsValid() const noexcept
override {
return m_provider !=
nullptr; }
277 static std::shared_ptr<ICredentialsProvider> CreateCredentialsProviderStatic(
284 static std::shared_ptr<ICredentialsProvider> CreateCredentialsProviderEnvironment(
290 static std::shared_ptr<ICredentialsProvider> CreateCredentialsProviderProfile(
297 static std::shared_ptr<ICredentialsProvider> CreateCredentialsProviderImds(
305 static std::shared_ptr<ICredentialsProvider> CreateCredentialsProviderChain(
313 static std::shared_ptr<ICredentialsProvider> CreateCredentialsProviderCached(
323 static std::shared_ptr<ICredentialsProvider> CreateCredentialsProviderChainDefault(
328 static void s_onCredentialsResolved(aws_credentials *credentials,
void *user_data);
331 aws_credentials_provider *m_provider;
Definition: Credentials.h:225
aws_allocator Allocator
Definition: StlAllocator.h:25
Vector< std::shared_ptr< ICredentialsProvider > > Providers
Definition: Credentials.h:197
std::vector< T, StlAllocator< T > > Vector
Definition: Types.h:66
Credentials(const Credentials &)=delete
virtual aws_credentials_provider * GetUnderlyingHandle() const noexcept=0
Definition: Credentials.h:191
#define AWS_CRT_CPP_API
Definition: Exports.h:34
ByteCursor SessionToken
Definition: Credentials.h:140
CredentialsProviderStaticConfig()
Definition: Credentials.h:125
Credentials & operator=(Credentials &&)=delete
CredentialsProviderChainConfig()
Definition: Credentials.h:192
virtual bool IsValid() const noexcept override
Definition: Credentials.h:266
CredentialsProviderChainDefaultConfig()
Definition: Credentials.h:226
aws_byte_cursor ByteCursor
Definition: Types.h:44
Definition: Credentials.h:41
ByteCursor ConfigFileNameOverride
Definition: Credentials.h:162
Allocator * g_allocator
Definition: Api.cpp:28
CredentialsProvider & operator=(const CredentialsProvider &)=delete
CredentialsProviderImdsConfig()
Definition: Credentials.h:176
CredentialsProviderCachedConfig()
Definition: Credentials.h:205
std::function< void(std::shared_ptr< Credentials >)> OnCredentialsResolved
Definition: Credentials.h:90
Definition: Credentials.h:97
Credentials & operator=(const Credentials &)=delete
virtual ~ICredentialsProvider()=default
CredentialsProvider(const CredentialsProvider &)=delete
Definition: Credentials.h:242
Io::ClientBootstrap * Bootstrap
Definition: Credentials.h:182
Definition: Credentials.h:147
virtual aws_credentials_provider * GetUnderlyingHandle() const noexcept override
Definition: Credentials.h:261
Definition: Credentials.h:204
ByteCursor AccessKeyId
Definition: Credentials.h:130
ByteCursor SecretAccessKey
Definition: Credentials.h:135
ByteCursor CredentialsFileNameOverride
Definition: Credentials.h:168
CredentialsProvider(CredentialsProvider &&)=delete
std::chrono::milliseconds CachedCredentialTTL
Definition: Credentials.h:215
ByteCursor ProfileNameOverride
Definition: Credentials.h:156
Io::ClientBootstrap * Bootstrap
Definition: Credentials.h:232
Definition: Bootstrap.h:45
std::shared_ptr< ICredentialsProvider > Provider
Definition: Credentials.h:210
Definition: Credentials.h:175
CredentialsProvider & operator=(CredentialsProvider &&)=delete
virtual bool GetCredentials(const OnCredentialsResolved &onCredentialsResolved) const =0
CredentialsProviderProfileConfig()
Definition: Credentials.h:148
Definition: Credentials.h:124
Credentials(Credentials &&)=delete