Package org.apache.tools.ant.taskdefs.optional.ssh

# Class SSHSession

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.optional.ssh.SSHBase
org.apache.tools.ant.taskdefs.optional.ssh.SSHSession

All Implemented Interfaces:
  `Cloneable`, `LogListener`

public class SSHSession extends SSHBase
Establishes an ssh session with a remote machine, optionally establishing port forwarding, then executes any nested task(s) before closing the session.

Since:
  Ant 1.8.0

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`class`
`SSHSession.LocalTunnel`
`static class`
`SSHSession.NestedSequential`
The class corresponding to the sequential nested element.
`class`
`SSHSession.RemoteTunnel`

## Field Summary

### Fields inherited from class org.apache.tools.ant.Task

`target, taskName, taskType, wrapper`

### Fields inherited from class org.apache.tools.ant.ProjectComponent

`description, location, project`

## Constructor Summary

Constructors
Constructor
Description
`SSHSession()`

## Method Summary

Modifier and Type
Method
Description
`void`
`addTask(Task nestedTask)`
Add a nested task to Sequential.
`SSHSession.LocalTunnel`
`createLocalTunnel()`
`SSHSession.RemoteTunnel`
`createRemoteTunnel()`
`SSHSession.NestedSequential`
`createSequential()`
This is the sequential nested element of the macrodef.
`void`
`execute()`
Establish the ssh session and execute all nestedTasks
`void`
`setLocaltunnels(String tunnels)`
Changes the comma-delimited list of local tunnels to establish on the connection.
`void`
`setRemotetunnels(String tunnels)`
Changes the comma-delimited list of remote tunnels to establish on the connection.
`void`
`setTimeout(long timeout)`
The connection can be dropped after a specified number of milliseconds.

### Methods inherited from class org.apache.tools.ant.taskdefs.optional.ssh.SSHBase

`addConfiguredAdditionalConfig, getFailonerror, getHost, getPort, getServerAliveCountMax, getServerAliveIntervalSeconds, getSshConfig, getUserInfo, getVerbose, init, loadSshConfig, openSession, setFailonerror, setHost, setKeyfile, setKnownhosts, setPassphrase, setPassword, setPort, setServerAliveCountMax, setServerAliveIntervalSeconds, setSshConfig, setTrust, setUsername, setVerbose`

### Methods inherited from class org.apache.tools.ant.Task

`bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

### Methods inherited from class org.apache.tools.ant.ProjectComponent

`clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.apache.tools.ant.taskdefs.optional.ssh.LogListener

`log`

## Constructor Details

### SSHSession

public SSHSession()

## Method Details

### addTask

public void addTask(Task nestedTask)
Add a nested task to Sequential.

Parameters:
  `nestedTask` - Nested task to execute sequentially

### setTimeout

public void setTimeout(long timeout)
The connection can be dropped after a specified number of milliseconds. This is sometimes useful when a connection may be flaky. Default is 0, which means "wait forever".

Parameters:
  `timeout` - The new timeout value in seconds

### setLocaltunnels

public void setLocaltunnels(String tunnels)
Changes the comma-delimited list of local tunnels to establish on the connection.

Parameters:
  `tunnels` - a comma-delimited list of lport:rhost:rport tunnel specifications

### setRemotetunnels

public void setRemotetunnels(String tunnels)
Changes the comma-delimited list of remote tunnels to establish on the connection.

Parameters:
  `tunnels` - a comma-delimited list of rport:lhost:lport tunnel specifications

### execute

public void execute() throws BuildException
Establish the ssh session and execute all nestedTasks

Overrides:
  `execute` in class `Task`
Throws:
  `BuildException` - if one of the nested tasks fails, or network error or bad parameter.

### createLocalTunnel

public SSHSession.LocalTunnel createLocalTunnel()

### createRemoteTunnel

public SSHSession.RemoteTunnel createRemoteTunnel()

### createSequential

public SSHSession.NestedSequential createSequential()
This is the sequential nested element of the macrodef.

Returns:
  a sequential element to be configured.