def removeAccountPasswords()

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)
    }
  }