8#include <aws/core/Core_EXPORTS.h>
9#include <aws/core/client/UserAgent.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/core/utils/DateTime.h>
12#include <aws/core/platform/Security.h>
31 m_features.insert(feature);
57 AWSCredentials() : m_expiration((std::chrono::time_point<std::chrono::system_clock>::max)())
67 m_accessKeyId(accessKeyId), m_secretKey(secretKey), m_expiration((std::chrono::time_point<std::chrono::system_clock>::max)())
76 m_accessKeyId(accessKeyId), m_secretKey(secretKey), m_sessionToken(sessionToken), m_expiration((std::chrono::time_point<std::chrono::system_clock>::max)())
84 m_accessKeyId(accessKeyId), m_secretKey(secretKey), m_sessionToken(sessionToken), m_expiration(expiration)
96 : m_accessKeyId(accessKeyId),
97 m_secretKey(secretKey),
98 m_sessionToken(sessionToken),
99 m_expiration(expiration),
100 m_accountId(accountId) {}
118 if (!m_secretKey.empty())
122 if (!m_sessionToken.empty())
140 return m_accessKeyId == other.m_accessKeyId
141 && m_secretKey == other.m_secretKey
142 && m_sessionToken == other.m_sessionToken
143 && m_expiration == other.m_expiration
144 && m_accountId == other.m_accountId;
150 return !(other == *
this);
157 inline bool IsEmpty()
const {
return m_accessKeyId.empty() && m_secretKey.empty(); }
176 return m_accessKeyId;
192 return m_sessionToken;
216 m_accessKeyId = accessKeyId;
224 m_secretKey = secretKey;
232 m_sessionToken = sessionToken;
240 m_accountId = accountId;
249 m_accessKeyId = accessKeyId;
257 m_secretKey = secretKey;
265 m_sessionToken = sessionToken;
273 m_accountId = accountId;
281 m_expiration = expiration;
const Aws::String & GetSessionToken() const
CredentialsResolutionContext GetContext()
void AddUserAgentFeature(Aws::Client::UserAgentFeature feature)
AWSCredentials(const Aws::String &accessKeyId, const Aws::String &secretKey)
AWSCredentials(const Aws::String &accessKeyId, const Aws::String &secretKey, const Aws::String &sessionToken, Aws::Utils::DateTime expiration, const Aws::String &accountId)
void SetSessionToken(const Aws::String &sessionToken)
bool IsExpiredOrEmpty() const
const Aws::String & GetAccountId() const
const Aws::String & GetAWSAccessKeyId() const
Aws::Utils::DateTime GetExpiration() const
bool ExpiresSoon(int64_t millisecondThreshold=5000) const
void SetAWSSecretKey(const char *secretKey)
void SetAccountId(const char *accountId)
void SetAWSAccessKeyId(const Aws::String &accessKeyId)
AWSCredentials(const Aws::String &accessKeyId, const Aws::String &secretKey, const Aws::String &sessionToken)
void SetSessionToken(const char *sessionToken)
AWSCredentials(const AWSCredentials &other)=default
AWSCredentials & operator=(const AWSCredentials &other)=default
AWSCredentials(const Aws::String &accessKeyId, const Aws::String &secretKey, const Aws::String &sessionToken, Aws::Utils::DateTime expiration)
void SetAccountId(const Aws::String &accountId)
AWSCredentials & operator=(AWSCredentials &&other) noexcept=default
void SetAWSSecretKey(const Aws::String &secretKey)
void SetAWSAccessKeyId(const char *accessKeyId)
AWSCredentials(AWSCredentials &&other) noexcept=default
void SetExpiration(Aws::Utils::DateTime expiration)
const Aws::String & GetAWSSecretKey() const
CredentialsResolutionContext()=default
const Aws::Set< Aws::Client::UserAgentFeature > GetUserAgentFeatures() const
void AddUserAgentFeature(Aws::Client::UserAgentFeature feature)
AWS_CORE_API void SecureMemClear(unsigned char *data, size_t length)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::set< T, std::less< T >, Aws::Allocator< T > > Set