def addressesFromTags()

in app/conf/AWS.scala [72:88]


    def addressesFromTags(tags: List[Tag]): List[String] = {

      log.info(s"Looking up instances with tags: $tags")
      val tagsAsFilters = tags.map { case (name, value) =>
        Filter.builder.name("tag:" + name).values(value).build
      }.asJavaCollection

      val describeInstancesResult = EC2Client.describeInstances(
        DescribeInstancesRequest.builder.filters(tagsAsFilters).build
      )

      val reservation = describeInstancesResult.reservations.asScala.toList
      val instances = reservation.flatMap(r => r.instances.asScala)
      val addresses = instances.flatMap(i => Option(i.privateIpAddress))
      log.info(s"Instances with tags $tags: $addresses")
      addresses
    }