1
#pragma once
2
#include "source/common/common/logger.h"
3
#include "source/extensions/common/aws/credentials_provider.h"
4

            
5
namespace Envoy {
6
namespace Extensions {
7
namespace Common {
8
namespace Aws {
9

            
10
/**
11
 * Retrieve AWS credentials from the environment variables.
12
 *
13
 * Adheres to conventions specified in:
14
 * https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html
15
 */
16
class EnvironmentCredentialsProvider : public CredentialsProvider,
17
                                       public Logger::Loggable<Logger::Id::aws> {
18
public:
19
  Credentials getCredentials() override;
20
38
  bool credentialsPending() override { return false; };
21
1
  std::string providerName() override { return "EnvironmentCredentialsProvider"; };
22
};
23

            
24
} // namespace Aws
25
} // namespace Common
26
} // namespace Extensions
27
} // namespace Envoy