Skip to content

Commit bb8bc07

Browse files
committed
added tracking for credentials usage (e)
1 parent 4c39477 commit bb8bc07

File tree

4 files changed

+18
-0
lines changed

4 files changed

+18
-0
lines changed

src/aws-cpp-sdk-core/include/aws/core/client/UserAgent.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ enum class UserAgentFeature {
3232
ACCOUNT_ID_MODE_REQUIRED,
3333
RESOLVED_ACCOUNT_ID,
3434
GZIP_REQUEST_COMPRESSION,
35+
CREDENTIALS_CODE,
3536
CREDENTIALS_ENV_VARS,
3637
CREDENTIALS_PROFILE,
3738
CREDENTIALS_PROFILE_PROCESS,

src/aws-cpp-sdk-core/source/auth/AWSCredentialsProviderChain.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ AWSCredentials AWSCredentialsProviderChain::GetAWSCredentials()
2525
AWSCredentials credentials = m_cachedProvider->GetAWSCredentials();
2626
if (!credentials.GetAWSAccessKeyId().empty() && !credentials.GetAWSSecretKey().empty())
2727
{
28+
credentials.AddUserAgentFeature(Aws::Client::UserAgentFeature::CREDENTIALS_CODE);
2829
return credentials;
2930
}
3031
}
@@ -35,6 +36,7 @@ AWSCredentials AWSCredentialsProviderChain::GetAWSCredentials()
3536
if (!credentials.GetAWSAccessKeyId().empty() && !credentials.GetAWSSecretKey().empty())
3637
{
3738
m_cachedProvider = credentialsProvider;
39+
credentials.AddUserAgentFeature(Aws::Client::UserAgentFeature::CREDENTIALS_CODE);
3840
return credentials;
3941
}
4042
}

src/aws-cpp-sdk-core/source/client/UserAgent.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ const std::pair<UserAgentFeature, const char*> BUSINESS_METRIC_MAPPING[] = {
4242
{UserAgentFeature::ACCOUNT_ID_MODE_REQUIRED, "R"},
4343
{UserAgentFeature::RESOLVED_ACCOUNT_ID, "T"},
4444
{UserAgentFeature::GZIP_REQUEST_COMPRESSION, "L"},
45+
{UserAgentFeature::CREDENTIALS_CODE, "e"},
4546
{UserAgentFeature::CREDENTIALS_ENV_VARS, "g"},
4647
{UserAgentFeature::CREDENTIALS_PROFILE, "n"},
4748
{UserAgentFeature::CREDENTIALS_PROFILE_PROCESS, "v"},

tests/aws-cpp-sdk-core-tests/aws/auth/CredentialTrackingTest.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,20 @@ class CredentialTrackingTest : public Aws::Testing::AwsCppSdkGTestSuite
152152
}
153153
};
154154

155+
TEST_F(CredentialTrackingTest, TestCredentialsCodeTracking)
156+
{
157+
// Set up environment credentials for the provider chain
158+
Aws::Environment::EnvironmentRAII testEnvironment{{
159+
{"AWS_ACCESS_KEY_ID", "test-access-key"},
160+
{"AWS_SECRET_ACCESS_KEY", "test-secret-key"},
161+
}};
162+
163+
// Use DefaultAWSCredentialsProviderChain which will add CREDENTIALS_CODE
164+
auto credsProvider = Aws::MakeShared<Aws::Auth::DefaultAWSCredentialsProviderChain>(TEST_LOG_TAG);
165+
RunTestWithCredentialsProvider(std::move(credsProvider), "e");
166+
}
167+
168+
155169
TEST_F(CredentialTrackingTest, TestEnvironmentCredentialsTracking)
156170
{
157171
Aws::Environment::EnvironmentRAII testEnvironment{{

0 commit comments

Comments
 (0)