Skip to content

Commit 7edabc3

Browse files
committed
added tracking for profile providers
1 parent fbc777b commit 7edabc3

File tree

3 files changed

+15
-0
lines changed

3 files changed

+15
-0
lines changed

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ enum class UserAgentFeature {
3838
CREDENTIALS_IMDS,
3939
CREDENTIALS_STS_ASSUME_ROLE,
4040
CREDENTIALS_HTTP,
41+
CREDENTIALS_PROFILE_NAMED_PROVIDER,
42+
CREDENTIALS_PROFILE_SOURCE_PROFILE,
4143
};
4244

4345
class AWS_CORE_API UserAgent {

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ const std::pair<UserAgentFeature, const char*> BUSINESS_METRIC_MAPPING[] = {
4848
{UserAgentFeature::CREDENTIALS_IMDS, "0"},
4949
{UserAgentFeature::CREDENTIALS_STS_ASSUME_ROLE, "i"},
5050
{UserAgentFeature::CREDENTIALS_HTTP, "z"},
51+
{UserAgentFeature::CREDENTIALS_PROFILE_NAMED_PROVIDER, "o"},
52+
{UserAgentFeature::CREDENTIALS_PROFILE_SOURCE_PROFILE, "p"},
5153
};
5254

5355
const std::pair<const char*, UserAgentFeature> RETRY_FEATURE_MAPPING[] = {

src/aws-cpp-sdk-identity-management/source/auth/STSProfileCredentialsProvider.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,12 @@ void STSProfileCredentialsProvider::Reload()
210210
profileIt->second.SetCredentials({});
211211
}
212212

213+
// Check for credential_source usage
214+
const auto credentialSource = profileIt->second.GetValue("credential_source");
215+
if (!credentialSource.empty() && !m_credentials.IsEmpty()) {
216+
m_credentials.AddUserAgentFeature(Aws::Client::UserAgentFeature::CREDENTIALS_PROFILE_NAMED_PROVIDER);
217+
}
218+
213219
AWS_LOGSTREAM_INFO(CLASS_TAG, "Profile " << profileIt->second.GetName()
214220
<< " has a role ARN. Attempting to load its source credentials from profile "
215221
<< profileIt->second.GetSourceProfile());
@@ -306,6 +312,11 @@ void STSProfileCredentialsProvider::Reload()
306312
}
307313

308314
m_credentials = profileIt->second.GetCredentials();
315+
316+
if (!m_credentials.IsEmpty()) {
317+
m_credentials.AddUserAgentFeature(Aws::Client::UserAgentFeature::CREDENTIALS_PROFILE_SOURCE_PROFILE);
318+
}
319+
309320
AWSCredentialsProvider::Reload();
310321
}
311322

0 commit comments

Comments
 (0)