in src/main/scala/com/gu/ssm/IO.scala [15:21]
def resolveInstances(executionTarget: ExecutionTarget, ec2Client: AmazonEC2Async)(implicit ec: ExecutionContext): Attempt[List[Instance]] = {
executionTarget.instances.map( instances =>
EC2.resolveInstanceIds(instances, ec2Client)
).orElse {
executionTarget.tagValues.map(EC2.resolveByTags(_, ec2Client))
}.getOrElse(Attempt.Left(Failure("Unable to resolve execution target", "You must provide an execution target (instance(s) or tags)", ArgumentsError)))
}