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:
  `java.lang.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​(java.lang.String tunnels)` | Changes the comma-delimited list of local tunnels to establish on the connection.
  `void` | `setRemotetunnels​(java.lang.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​(java.lang.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​(java.lang.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.