hq/app/aws/ec2/EC2.scala (17 lines of code) (raw):

package aws.ec2 import aws.AwsAsyncHandler.{asScala, handleAWSErrs} import aws.AwsClient import utils.attempt.Attempt import scala.jdk.CollectionConverters._ import scala.concurrent.ExecutionContext import software.amazon.awssdk.services.ec2.Ec2AsyncClient import software.amazon.awssdk.services.ec2.model.DescribeRegionsRequest import software.amazon.awssdk.services.ec2.model.Region object EC2 { def getAvailableRegions(client: AwsClient[Ec2AsyncClient])(implicit ec: ExecutionContext): Attempt[List[Region]] = { val request = DescribeRegionsRequest.builder.build() handleAWSErrs(client)(asScala(client.client.describeRegions(request))).map { result => result.regions.asScala.toList } } }