1
#include "source/extensions/common/aws/credential_providers/environment_credentials_provider.h"
2

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

            
8
80
Credentials EnvironmentCredentialsProvider::getCredentials() {
9
80
  ENVOY_LOG(debug, "Getting AWS credentials from the environment");
10

            
11
80
  const auto access_key_id = absl::NullSafeStringView(std::getenv(AWS_ACCESS_KEY_ID));
12
80
  if (access_key_id.empty()) {
13
6
    return Credentials();
14
6
  }
15

            
16
74
  const auto secret_access_key = absl::NullSafeStringView(std::getenv(AWS_SECRET_ACCESS_KEY));
17
74
  const auto session_token = absl::NullSafeStringView(std::getenv(AWS_SESSION_TOKEN));
18

            
19
74
  ENVOY_LOG(debug, "Found following AWS credentials in the environment: {}={}, {}={}, {}={}",
20
74
            AWS_ACCESS_KEY_ID, access_key_id, AWS_SECRET_ACCESS_KEY,
21
74
            secret_access_key.empty() ? "" : "*****", AWS_SESSION_TOKEN,
22
74
            session_token.empty() ? "" : "*****");
23

            
24
74
  return Credentials(access_key_id, secret_access_key, session_token);
25
80
}
26

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