def listUserAccessKeys()

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