in src/main/scala/com/gu/ssm/aws/SSM.scala [24:32]
def sendCommand(instanceIds: List[InstanceId], cmd: String, username: String, client: AWSSimpleSystemsManagementAsync)(implicit ec: ExecutionContext): Attempt[String] = {
val parameters = Map("commands" -> List(cmd).asJava).asJava
val sendCommandRequest = new SendCommandRequest()
.withComment(s"Command submitted by $username")
.withInstanceIds(instanceIds.map(_.id).asJava)
.withDocumentName("AWS-RunShellScript")
.withParameters(parameters)
handleAWSErrs(awsToScala(client.sendCommandAsync)(sendCommandRequest).map(extractCommandId))
}