in hq/app/aws/support/TrustedAdvisorS3.scala [68:90]
private[support] def parseBucketDetail(detail: TrustedAdvisorResourceDetail): Attempt[BucketDetail] = {
def toBoolean(str: String): Boolean = str.toLowerCase.contentEquals("yes")
detail.metadata.asScala.toList match {
case region :: _ :: bucketName :: aclAllowsRead :: aclAllowsWrite :: status :: policyAllowsAccess :: _ =>
Attempt.Right {
BucketDetail(
region,
bucketName,
status.toLowerCase,
toBoolean(aclAllowsRead),
toBoolean(aclAllowsWrite),
toBoolean(policyAllowsAccess),
isSuppressed = detail.isSuppressed,
None
)
}
case metadata =>
Attempt.Left {
utils.attempt.Failure(s"Could not parse S3 Bucket report from TrustedAdvisorResourceDetail with metadata $metadata", "Could not parse public S3 Buckets", 500).attempt
}
}
}