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

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

            
9
/**
10
 * Credential provider based on an inline credential.
11
 */
12
class InlineCredentialProvider : public CredentialsProvider {
13
public:
14
  explicit InlineCredentialProvider(absl::string_view access_key_id,
15
                                    absl::string_view secret_access_key,
16
                                    absl::string_view session_token)
17
3
      : credentials_(access_key_id, secret_access_key, session_token) {}
18

            
19
1
  Credentials getCredentials() override { return credentials_; }
20
1
  bool credentialsPending() override { return false; };
21
1
  std::string providerName() override { return "InlineCredentialsProvider"; };
22

            
23
private:
24
  const Credentials credentials_;
25
};
26

            
27
} // namespace Aws
28
} // namespace Common
29
} // namespace Extensions
30
} // namespace Envoy