Class ExtSSHExec

    • Field Detail

      • COMMAND_TIMEOUT_MESSAGE

        public static final java.lang.String COMMAND_TIMEOUT_MESSAGE
        See Also:
        Constant Field Values
      • CON_TIMEOUT_MESSAGE

        public static final java.lang.String CON_TIMEOUT_MESSAGE
        See Also:
        Constant Field Values
    • Constructor Detail

      • ExtSSHExec

        public ExtSSHExec()
        Constructor for SSHExecTask.
    • Method Detail

      • setCommand

        public void setCommand​(java.lang.String command)
        Sets the command to execute on the remote host.
        Parameters:
        command - The new command value
      • setCommandResource

        public void setCommandResource​(java.lang.String f)
        Sets a commandResource from a file
        Parameters:
        f - the value to use.
        Since:
        Ant 1.7.1
      • 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".
        Specified by:
        setTimeout in interface SSHTaskBuilder.SSHBaseInterface
        Parameters:
        timeout - The new timeout value in seconds
      • setOutput

        public void setOutput​(java.io.File output)
        If used, stores the output of the command to the given file.
        Parameters:
        output - The file to write to.
      • setInput

        public void setInput​(java.io.File input)
        If used, the content of the file is piped to the remote command
        Parameters:
        input - The file which provides the input data for the remote command
      • setInputProperty

        public void setInputProperty​(java.lang.String inputProperty)
        If used, the content of the property is piped to the remote command
        Parameters:
        inputProperty - The property which contains the input data for the remote command.
      • setAppend

        public void setAppend​(boolean append)
        Determines if the output is appended to the file given in setOutput. Default is false, that is, overwrite the file.
        Parameters:
        append - True to append to an existing file, false to overwrite.
      • setOutputproperty

        public void setOutputproperty​(java.lang.String property)
        If set, the output of the command will be stored in the given property.
        Parameters:
        property - The name of the property in which the command output will be stored.
      • setAllocatePty

        public void setAllocatePty​(boolean b)
        Allocate a Pseudo-Terminal. If set true, the SSH connection will be setup to run over an allocated pty.
        Parameters:
        b - if true, allocate the pty. (default false
      • passEnvVar

        public void passEnvVar​(boolean b)
        Pass ENV_ rundeck variables.
      • getExitStatus

        public int getExitStatus()
        Returns:
        exitStatus of the remote execution, after it has finished or failed. The return value prior to retrieving the result will be -1. If that value is returned after the task has executed, it indicates that an exception was thrown prior to retrieval of the value.
      • setDisconnectHolder

        public void setDisconnectHolder​(ExtSSHExec.DisconnectHolder disconnectHolder)
        Set a disconnectHolder
        Parameters:
        disconnectHolder - holder
      • getAntLogLevel

        public int getAntLogLevel()
      • setAntLogLevel

        public void setAntLogLevel​(int antLogLevel)
      • execute

        public void execute()
                     throws org.apache.tools.ant.BuildException
        Execute the command on the remote host.
        Overrides:
        execute in class org.apache.tools.ant.Task
        Throws:
        org.apache.tools.ant.BuildException - Most likely a network error or bad parameter.
      • setKnownhosts

        public void setKnownhosts​(java.lang.String knownHosts)
        Sets the path to the file that has the identities of all known hosts. This is used by SSH protocol to validate the identity of the host. The default is ${user.home}/.ssh/known_hosts.
        Specified by:
        setKnownhosts in interface SSHTaskBuilder.SSHBaseInterface
        Overrides:
        setKnownhosts in class org.apache.tools.ant.taskdefs.optional.ssh.SSHBase
        Parameters:
        knownHosts - a path to the known hosts file.
      • openSession

        protected com.jcraft.jsch.Session openSession()
                                               throws com.jcraft.jsch.JSchException
        Open an ssh seession. Copied from SSHBase 1.8.1
        Overrides:
        openSession in class org.apache.tools.ant.taskdefs.optional.ssh.SSHBase
        Returns:
        the opened session
        Throws:
        com.jcraft.jsch.JSchException - on error
      • getInputStream

        public java.io.InputStream getInputStream()
      • setInputStream

        public void setInputStream​(java.io.InputStream inputStream)
        Set an inputstream for pty input to the session
        Parameters:
        inputStream - stream
      • getSecondaryStream

        public java.io.OutputStream getSecondaryStream()
      • setSecondaryStream

        public void setSecondaryStream​(java.io.OutputStream secondaryStream)
        Set a secondary outputstream to read from the connection
        Parameters:
        secondaryStream - secondary stream
      • getUserInfo

        public org.apache.tools.ant.taskdefs.optional.ssh.SSHUserInfo getUserInfo()
        Specified by:
        getUserInfo in interface SSHTaskBuilder.SSHBaseInterface
        Overrides:
        getUserInfo in class org.apache.tools.ant.taskdefs.optional.ssh.SSHBase