in hq/app/aws/support/TrustedAdvisor.scala [104:118]
def parseTrustedAdvisorCheckResult[A <: TrustedAdvisorCheckDetails](parseDetails: TrustedAdvisorResourceDetail => Attempt[A], ec: ExecutionContext)(response: DescribeTrustedAdvisorCheckResultResponse): Attempt[TrustedAdvisorDetailsResult[A]] = {
implicit val executionContext: ExecutionContext = ec
val result = response.result
for {
resources <- Attempt.traverse(result.flaggedResources.asScala.toList)(parseDetails)
} yield TrustedAdvisorDetailsResult(
checkId = result.checkId,
status = result.status,
timestamp = fromISOString(result.timestamp),
flaggedResources = sortSecurityFlags(resources),
resourcesIgnored = result.resourcesSummary.resourcesIgnored,
resourcesFlagged = result.resourcesSummary.resourcesFlagged,
resourcesSuppressed = result.resourcesSummary.resourcesSuppressed
)
}