in discovery-aws-api/src/main/scala/org/apache/pekko/discovery/awsapi/ecs/EcsServiceDiscovery.scala [60:76]
override def lookup(query: Lookup, resolveTimeout: FiniteDuration): Future[Resolved] =
Future.firstCompletedOf(
Seq(
after(resolveTimeout, using = system.scheduler)(
Future.failed(new TimeoutException("Future timed out!"))),
Future {
Resolved(
serviceName = query.serviceName,
addresses = for {
task <- resolveTasks(ecsClient, cluster, query.serviceName)
container <- task.getContainers.asScala
networkInterface <- container.getNetworkInterfaces.asScala
} yield {
val address = networkInterface.getPrivateIpv4Address
ResolvedTarget(host = address, port = None, address = Try(InetAddress.getByName(address)).toOption)
})
}))