in hq/app/aws/iam/IAMClient.scala [56:69]
private def enrichReportWithTags(report: IAMCredentialsReport, client: AwsClient[IamAsyncClient])(implicit ec: ExecutionContext): Attempt[IAMCredentialsReport] = {
val updatedEntries = Future.sequence(report.entries.map(e => {
// the root user isn't a normal IAM user - exclude from tag lookup
if (!IAMCredential.isRootUser(e.user)) {
enrichCredentialWithTags(e, client)
} else
Future.successful(e)
}))
val updatedReport = updatedEntries.map(e => report.copy(entries = e))
// Convert to an Attempt
Attempt.fromFuture(updatedReport){
case throwable => Failure(throwable.getMessage, "failed to enrich report with tags", 500, throwable = Some(throwable)).attempt
}
}