Skip to content

Commit 03ca91f

Browse files
committed
Refactor ProfileCredentialsProvider, unused function param, and readability changes
1 parent 1bdaa80 commit 03ca91f

File tree

1 file changed

+31
-38
lines changed

1 file changed

+31
-38
lines changed

aws-runtime/aws-config/common/src/aws/sdk/kotlin/runtime/auth/credentials/ProfileCredentialsProvider.kt

Lines changed: 31 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ public class ProfileCredentialsProvider @InternalSdkApi constructor(
129129
val profileOverride = profileName?.let { sharedConfig.profiles[it] }
130130
val region = asyncLazy { region ?: profileOverride?.getOrNull("region") ?: attributes.getOrNull(AwsClientOption.Region) ?: resolveRegion(platformProvider) }
131131

132-
val leaf = chain.leaf.toCredentialsProvider(region, attributes)
132+
val leaf = chain.leaf.toCredentialsProvider(region)
133133
logger.debug { "Resolving credentials from ${chain.leaf.description()}" }
134134
var creds = leaf.resolve(attributes)
135135

@@ -157,59 +157,52 @@ public class ProfileCredentialsProvider @InternalSdkApi constructor(
157157
}
158158
}
159159

160-
private suspend fun LeafProvider.toCredentialsProvider(region: LazyAsyncValue<String?>, attributes: Attributes): CredentialsProvider =
160+
private suspend fun LeafProvider.toCredentialsProvider(region: LazyAsyncValue<String?>): CredentialsProvider =
161161
when (this) {
162-
is LeafProvider.NamedSource -> {
162+
is LeafProvider.NamedSource -> namedProviders[name].also {
163163
credentialsBusinessMetrics.add(AwsBusinessMetric.Credentials.CREDENTIALS_PROFILE_NAMED_PROVIDER)
164-
namedProviders[name]
165-
?: throw ProviderConfigurationException("unknown credentials source: $name")
166-
}
164+
} ?: throw ProviderConfigurationException("unknown credentials source: $name")
167165

168-
is LeafProvider.AccessKey -> {
166+
is LeafProvider.AccessKey -> StaticCredentialsProvider(credentials).also {
169167
credentialsBusinessMetrics.add(AwsBusinessMetric.Credentials.CREDENTIALS_PROFILE)
170-
StaticCredentialsProvider(credentials)
171168
}
172169

173-
is LeafProvider.WebIdentityTokenRole -> {
170+
is LeafProvider.WebIdentityTokenRole -> StsWebIdentityCredentialsProvider(
171+
roleArn,
172+
webIdentityTokenFile,
173+
region = region.get(),
174+
roleSessionName = sessionName,
175+
platformProvider = platformProvider,
176+
httpClient = httpClient,
177+
).also {
174178
credentialsBusinessMetrics.add(AwsBusinessMetric.Credentials.CREDENTIALS_PROFILE_STS_WEB_ID_TOKEN)
175-
StsWebIdentityCredentialsProvider(
176-
roleArn,
177-
webIdentityTokenFile,
178-
region = region.get(),
179-
roleSessionName = sessionName,
180-
platformProvider = platformProvider,
181-
httpClient = httpClient,
182-
)
183179
}
184180

185-
is LeafProvider.SsoSession -> {
181+
is LeafProvider.SsoSession -> SsoCredentialsProvider(
182+
accountId = ssoAccountId,
183+
roleName = ssoRoleName,
184+
startUrl = ssoStartUrl,
185+
ssoRegion = ssoRegion,
186+
ssoSessionName = ssoSessionName,
187+
httpClient = httpClient,
188+
platformProvider = platformProvider,
189+
).also {
186190
credentialsBusinessMetrics.add(AwsBusinessMetric.Credentials.CREDENTIALS_PROFILE_SSO)
187-
SsoCredentialsProvider(
188-
accountId = ssoAccountId,
189-
roleName = ssoRoleName,
190-
startUrl = ssoStartUrl,
191-
ssoRegion = ssoRegion,
192-
ssoSessionName = ssoSessionName,
193-
httpClient = httpClient,
194-
platformProvider = platformProvider,
195-
)
196191
}
197192

198-
is LeafProvider.LegacySso -> {
193+
is LeafProvider.LegacySso -> SsoCredentialsProvider(
194+
accountId = ssoAccountId,
195+
roleName = ssoRoleName,
196+
startUrl = ssoStartUrl,
197+
ssoRegion = ssoRegion,
198+
httpClient = httpClient,
199+
platformProvider = platformProvider,
200+
).also {
199201
credentialsBusinessMetrics.add(AwsBusinessMetric.Credentials.CREDENTIALS_PROFILE_SSO_LEGACY)
200-
SsoCredentialsProvider(
201-
accountId = ssoAccountId,
202-
roleName = ssoRoleName,
203-
startUrl = ssoStartUrl,
204-
ssoRegion = ssoRegion,
205-
httpClient = httpClient,
206-
platformProvider = platformProvider,
207-
)
208202
}
209203

210-
is LeafProvider.Process -> {
204+
is LeafProvider.Process -> ProcessCredentialsProvider(command).also {
211205
credentialsBusinessMetrics.add(AwsBusinessMetric.Credentials.CREDENTIALS_PROFILE_PROCESS)
212-
ProcessCredentialsProvider(command)
213206
}
214207
}
215208

0 commit comments

Comments
 (0)