AWS IoT Device SDK C++ v2
1.39.0
AWS IoT Device SDK C++ v2
|
Go to the documentation of this file.
15 struct aws_credentials;
16 struct aws_credentials_provider;
40 Credentials(
const aws_credentials *credentials) noexcept;
45 uint64_t expiration_timepoint_in_seconds,
70 ByteCursor GetSecretAccessKey() const noexcept;
80 uint64_t GetExpirationTimepointInSeconds() const noexcept;
90 explicit operator
bool() const noexcept;
95 const aws_credentials *GetUnderlyingHandle() const noexcept {
return m_credentials; }
98 const aws_credentials *m_credentials;
137 virtual
bool IsValid() const noexcept = 0;
147 AWS_ZERO_STRUCT(AccessKeyId);
148 AWS_ZERO_STRUCT(SecretAccessKey);
149 AWS_ZERO_STRUCT(SessionToken);
175 AWS_ZERO_STRUCT(ProfileNameOverride);
176 AWS_ZERO_STRUCT(ConfigFileNameOverride);
177 AWS_ZERO_STRUCT(CredentialsFileNameOverride);
298 : Bootstrap(nullptr), TlsOptions(), ThingName(), RoleAlias(), Endpoint(), ProxyOptions()
528 virtual bool IsValid() const noexcept
override {
return m_provider !=
nullptr; }
537 static std::shared_ptr<ICredentialsProvider> CreateCredentialsProviderStatic(
545 static std::shared_ptr<ICredentialsProvider> CreateCredentialsProviderAnonymous(
551 static std::shared_ptr<ICredentialsProvider> CreateCredentialsProviderEnvironment(
557 static std::shared_ptr<ICredentialsProvider> CreateCredentialsProviderProfile(
564 static std::shared_ptr<ICredentialsProvider> CreateCredentialsProviderImds(
572 static std::shared_ptr<ICredentialsProvider> CreateCredentialsProviderChain(
580 static std::shared_ptr<ICredentialsProvider> CreateCredentialsProviderCached(
590 static std::shared_ptr<ICredentialsProvider> CreateCredentialsProviderChainDefault(
598 static std::shared_ptr<ICredentialsProvider> CreateCredentialsProviderX509(
606 static std::shared_ptr<ICredentialsProvider> CreateCredentialsProviderDelegate(
613 static std::shared_ptr<ICredentialsProvider> CreateCredentialsProviderCognito(
620 static std::shared_ptr<ICredentialsProvider> CreateCredentialsProviderSTS(
624 static std::shared_ptr<ICredentialsProvider> CreateCredentialsProviderSTSWebIdentity(
629 static void s_onCredentialsResolved(aws_credentials *credentials,
int error_code,
void *user_data);
632 aws_credentials_provider *m_provider;
Io::TlsContext TlsCtx
Definition: Credentials.h:447
Credentials(const Credentials &)=delete
Vector< std::shared_ptr< ICredentialsProvider > > Providers
Definition: Credentials.h:243
Definition: Credentials.h:296
ByteCursor AccessKeyId
Definition: Credentials.h:155
ByteCursor CredentialsFileNameOverride
Definition: Credentials.h:195
String ThingName
Definition: Credentials.h:315
CredentialsProviderImdsConfig()
Definition: Credentials.h:219
AWS_CRT_CPP_API Allocator * ApiAllocator() noexcept
Definition: Allocator.cpp:24
virtual bool GetCredentials(const OnCredentialsResolved &onCredentialsResolved) const =0
Definition: Credentials.h:172
GetCredentialsHandler Handler
Definition: Credentials.h:340
Optional< Http::HttpClientConnectionProxyOptions > ProxyOptions
Definition: Credentials.h:405
String RoleArn
Definition: Credentials.h:465
String RoleArn
Definition: Credentials.h:423
std::chrono::milliseconds CachedCredentialTTL
Definition: Credentials.h:261
CredentialsProvider(CredentialsProvider &&)=delete
std::function< void(std::shared_ptr< Credentials >, int errorCode)> OnCredentialsResolved
Definition: Credentials.h:105
Definition: Credentials.h:271
Io::ClientBootstrap * Bootstrap
Definition: Credentials.h:489
Io::TlsContext * TlsContext
Definition: Credentials.h:289
std::shared_ptr< ICredentialsProvider > Provider
Definition: Credentials.h:418
Definition: TlsOptions.h:293
String Identity
Definition: Credentials.h:375
CredentialsProvider & operator=(CredentialsProvider &&)=delete
Credentials & operator=(const Credentials &)=delete
String TokenFilePath
Definition: Credentials.h:480
Definition: Credentials.h:459
Io::TlsContext * TlsContext
Definition: Credentials.h:211
Io::ClientBootstrap * Bootstrap
Definition: Credentials.h:442
ByteCursor SecretAccessKey
Definition: Credentials.h:160
ByteCursor ConfigFileNameOverride
Definition: Credentials.h:189
Definition: Credentials.h:412
std::function< std::shared_ptr< Credentials >()> GetCredentialsHandler
Definition: Credentials.h:110
Credentials(Credentials &&)=delete
CredentialsProviderProfileConfig()
Definition: Credentials.h:173
Credentials & operator=(Credentials &&)=delete
Io::TlsContext TlsCtx
Definition: Credentials.h:400
Io::ClientBootstrap * Bootstrap
Definition: Credentials.h:280
String SessionName
Definition: Credentials.h:470
Optional< Http::HttpClientConnectionProxyOptions > ProxyOptions
Definition: Credentials.h:452
String SessionName
Definition: Credentials.h:428
Definition: Credentials.h:504
Io::TlsConnectionOptions TlsOptions
Definition: Credentials.h:312
std::shared_ptr< ICredentialsProvider > Provider
Definition: Credentials.h:256
String Endpoint
Definition: Credentials.h:326
Definition: Credentials.h:250
Definition: Optional.h:19
CredentialsProviderChainDefaultConfig()
Definition: Credentials.h:272
Definition: TlsOptions.h:350
Optional< Vector< CognitoLoginPair > > Logins
Definition: Credentials.h:380
virtual ~ICredentialsProvider()=default
virtual aws_credentials_provider * GetUnderlyingHandle() const noexcept override
Definition: Credentials.h:523
CredentialsProvider & operator=(const CredentialsProvider &)=delete
CredentialsProviderChainConfig()
Definition: Credentials.h:238
Io::ClientBootstrap * Bootstrap
Definition: Credentials.h:201
uint16_t DurationSeconds
Definition: Credentials.h:433
Definition: Credentials.h:117
Definition: Credentials.h:237
Io::ClientBootstrap * Bootstrap
Definition: Credentials.h:228
String Region
Definition: Credentials.h:475
Io::ClientBootstrap * Bootstrap
Definition: Credentials.h:395
Optional< Http::HttpClientConnectionProxyOptions > ProxyOptions
Definition: Credentials.h:331
CredentialsProviderCachedConfig()
Definition: Credentials.h:251
virtual aws_credentials_provider * GetUnderlyingHandle() const noexcept=0
Definition: HttpConnection.h:270
Optional< String > CustomRoleArn
Definition: Credentials.h:386
std::vector< T, StlAllocator< T > > Vector
Definition: Types.h:53
String Endpoint
Definition: Credentials.h:370
Definition: Credentials.h:364
ByteCursor SessionToken
Definition: Credentials.h:165
Definition: Credentials.h:38
#define AWS_CRT_CPP_API
Definition: Exports.h:36
Definition: Credentials.h:218
Definition: Allocator.h:11
Definition: Credentials.h:144
Definition: Credentials.h:347
aws_byte_cursor ByteCursor
Definition: Types.h:31
aws_allocator Allocator
Definition: Allocator.h:14
String RoleAlias
Definition: Credentials.h:318
String IdentityProviderToken
Definition: Credentials.h:357
Definition: Bootstrap.h:35
String IdentityProviderName
Definition: Credentials.h:352
CredentialsProviderX509Config()
Definition: Credentials.h:297
CredentialsProviderStaticConfig()
Definition: Credentials.h:145
Io::TlsConnectionOptions TlsConnectionOptions
Definition: Credentials.h:494
CredentialsProvider(const CredentialsProvider &)=delete
Io::ClientBootstrap * Bootstrap
Definition: Credentials.h:309
std::basic_string< char, std::char_traits< char >, StlAllocator< char > > String
Definition: Types.h:45
ByteCursor ProfileNameOverride
Definition: Credentials.h:183
Definition: Credentials.h:338
virtual bool IsValid() const noexcept override
Definition: Credentials.h:528