AWS SDK for C++

AWS SDK for C++ Version 1.11.822

Loading...
Searching...
No Matches
EC2InstanceProfileConfigLoader.h
1
6#pragma once
7
8#include <aws/core/config/AWSProfileConfigLoaderBase.h>
9#include <aws/core/client/ClientConfiguration.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/core/utils/memory/stl/AWSMap.h>
12#include <aws/core/utils/DateTime.h>
13#include <aws/core/utils/threading/ReaderWriterLock.h>
14
15namespace Aws
16{
17 namespace Internal
18 {
20 }
21
22 namespace Config
23 {
24 static const char* const INSTANCE_PROFILE_KEY = "InstanceProfile";
25
30 {
31 public:
35 EC2InstanceProfileConfigLoader(const std::shared_ptr<Aws::Internal::EC2MetadataClient>& = nullptr);
36
41
43
44 protected:
45 virtual bool LoadInternal() override;
46 private:
47 std::shared_ptr<Aws::Internal::EC2MetadataClient> m_ec2metadataClient;
48 int64_t credentialsValidUntilMillis = 0;
49 int64_t calculateRetryTime() const;
50 };
51 }
52}
EC2InstanceProfileConfigLoader(const std::shared_ptr< Aws::Internal::EC2MetadataClient > &=nullptr)
EC2InstanceProfileConfigLoader(const Aws::Client::ClientConfiguration::CredentialProviderConfiguration &credentialConfig)
static const char *const INSTANCE_PROFILE_KEY