in discovery-aws-api/src/main/scala/org/apache/pekko/discovery/awsapi/ecs/EcsServiceDiscovery.scala [109:134]
@tailrec private[this] def listTaskArns(
ecsClient: AmazonECS,
cluster: String,
serviceName: String,
pageTaken: Option[String] = None,
accumulator: Seq[String] = Seq.empty): Seq[String] = {
val listTasksResult = ecsClient.listTasks(
new ListTasksRequest()
.withCluster(cluster)
.withServiceName(serviceName)
.withNextToken(pageTaken.orNull)
.withDesiredStatus(DesiredStatus.RUNNING))
val accumulatedTasksArns = accumulator ++ listTasksResult.getTaskArns.asScala
listTasksResult.getNextToken match {
case null =>
accumulatedTasksArns
case nextPageToken =>
listTaskArns(
ecsClient,
cluster,
serviceName,
Some(nextPageToken),
accumulatedTasksArns)
}
}