in hq/app/logic/IamUnrecognisedUsers.scala [123:136]
def removeAccountPasswords(
accountUnrecognisedUsers: AccountUnrecognisedUsers,
iamClients: AwsClients[IamAsyncClient]
)(implicit ec: ExecutionContext): Attempt[List[Option[DeleteLoginProfileResponse]]] = {
val results = Attempt.traverse(accountUnrecognisedUsers.unrecognisedUsers)(user => deleteLoginProfile(accountUnrecognisedUsers.account, user.username, iamClients))
results.tap {
case Left(failure) =>
logger.error(s"failed to delete at least one password: ${failure.logMessage}")
Cloudwatch.putIamRemovePasswordMetric(ReaperExecutionStatus.failure, 1)
case Right(success) =>
logger.info(s"passwords deleted for ${accountUnrecognisedUsers.unrecognisedUsers.map(_.username).mkString(",")}")
Cloudwatch.putIamRemovePasswordMetric(ReaperExecutionStatus.success, success.flatten.length)
}
}