in hq/app/aws/iam/IAMClient.scala [108:131]
def listUserAccessKeys(account: AwsAccount, user: IAMUser, iamClients: AwsClients[IamAsyncClient])(implicit ec: ExecutionContext): Attempt[List[CredentialMetadata]] = {
for {
client <- iamClients.get(account, SOLE_REGION)
result <- listAccessKeys(client, user)
keyMetdatas = result.accessKeyMetadata.asScala.toList
credentialMetadatas <- Attempt.traverse(keyMetdatas) { akm =>
for {
credentialStatus <- akm.status match {
case StatusType.ACTIVE =>
Attempt.Right (CredentialActive)
case StatusType.INACTIVE =>
Attempt.Right (CredentialDisabled)
case StatusType.UNKNOWN_TO_SDK_VERSION =>
Attempt.Left {
Failure (
s"Could not create credential metadata from status value, as it is unknown to SDK version (expected 'Active' or 'Inactive')",
"Couldn't lookup AWS Access Key metadata",
500
)
}
}
} yield CredentialMetadata(akm.userName, akm.accessKeyId, new DateTime(akm.createDate), credentialStatus)
}
} yield credentialMetadatas