gridscale.ssh

Type members

Classlikes

case class ConnectionError(message: String, t: Throwable) extends Exception
case class ExecutionError(message: String, t: Throwable) extends Exception
case class JobId(jobId: String, workDirectory: String)
case class ReturnCodeError(server: String, command: String, executionResult: ExecutionResult) extends Exception
case class SFTPError(message: String, t: Throwable) extends Exception
object SSH
Companion
class
class SSH(val clientCache: ConnectionCache) extends AutoCloseable
Companion
object
Companion
class
Companion
object
object SSHCache
case class SSHJobDescription(command: String, workDirectory: String, timeout: Option[Time])
Companion
object
Companion
class
object SSHServer
Companion
class
case class SSHServer(login: String, host: String, port: Int)(timeout: Time, authenticate: SSHClient => Unit, keepAlive: Option[Time])
Companion
object

Types

type ConnectionCache = KeyValueCache[SSHServer, SSHClient]

Value members

Concrete methods

def chmod(server: SSHServer, path: String, perms: FilePermission*)(implicit ssh: Effect[SSH]): Try[Unit]
def clean(server: SSHServer, job: JobId)(implicit ssh: Effect[SSH]): Unit
def exists(server: SSHServer, path: String)(implicit ssh: Effect[SSH]): Boolean
def home(server: SSHServer)(implicit ssh: Effect[SSH]): String
def list(server: SSHServer, path: String)(implicit ssh: Effect[SSH]): Vector[ListEntry]
def makeDir(server: SSHServer, path: String)(implicit ssh: Effect[SSH]): Try[Unit]
def mv(server: SSHServer, from: String, to: String)(implicit ssh: Effect[SSH]): Unit
def readFile[T](server: SSHServer, path: String, f: InputStream => T)(implicit ssh: Effect[SSH]): T
def rmDir(server: SSHServer, path: String)(implicit ssh: Effect[SSH]): Unit
def rmFile(server: SSHServer, path: String)(implicit ssh: Effect[SSH]): Unit
def run(server: SSHServer, command: String, verbose: Boolean)(implicit ssh: Effect[SSH]): ExecutionResult
def state(server: SSHServer, jobId: JobId)(implicit ssh: Effect[SSH]): JobState
def stdErr(server: SSHServer, jobId: JobId)(implicit ssh: Effect[SSH]): String
def stdOut(server: SSHServer, jobId: JobId)(implicit ssh: Effect[SSH]): String
def submit(server: SSHServer, description: SSHJobDescription)(implicit ssh: Effect[SSH], system: Effect[System]): JobId
def writeFile(server: SSHServer, is: () => InputStream, path: String)(implicit ssh: Effect[SSH]): Unit