Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Logger log.Logger = nil
Functions ¶
This section is empty.
Types ¶
type CommandsScript ¶
type CommandsScript interface { // ExecuteWithOutput: Executes script(s) or command(s) using standard I/O ExecuteWithOutput() ([]byte, error) // ExecuteWithFullOutput: Executes script(s) or command(s) using standard and error I/O ExecuteWithFullOutput() ([]byte, error) // SetStdio: Sets the shell standard and error I/O streams SetStdio(stdout, stderr io.Writer) CommandsScript // NewCmd: Creates a client command NewCmd(cmd string) CommandsScript }
Manages the remote scripting execution
type ConnectionHandler ¶
type ConnectionHandler interface { // GetClient: Retrieves current connected client or nil elsewise GetClient() NetworkClient // IsConnected: Gives state about connection success IsConnected() bool // Clone: Create clone of current Connection Handler, within all state Clone() ConnectionHandler // Close: Closes the remote connection Close() error // UsePlugins: Enable management of plugins on the client side UsePlugins(PluginLibraryExtension string, PluginLibrariesFolder string) // ConnectWithPasswd: Connect the SSH server with given passwd authmethod. ConnectWithPasswd(addr string, user string, passwd string) error // ConnectWithKey: Connect the SSH server with given SSH server with key authmethod. ConnectWithKey(addr string, user string, keyfile string) error // ConnectWithKeyAndPassphrase: Connect the SSH server with given key and a passphrase to decrypt the private key ConnectWithKeyAndPassphrase(addr string, user, keyfile string, passphrase string) error // Connect: Connect the SSH server using given network, address and configuration Connect(network, addr string, config *ssh.ClientConfig) error // Connect: Connect the PEM certificate and client key using given address and port ConnectWithCertificate(addr string, port string, certificate common.CertificateKeyPair, caCert string) error }
SSHConnectionHandler: Remote Connection handler and client connectivity maintainer
type ConnectionHandlerConfig ¶
type ConnectionHandlerConfig struct { UseUserPassword bool UseAuthKey bool UseAuthKeyPassphrase bool UseSSHConfig bool UseCertificates bool }
Defines the available connection methods for a built-in or Custom given Client interface
type FileTransfer ¶
type FileTransfer interface { //MkDir: Create Remote folder MkDir(path string) error //MkDir: Create Remote folder MkDirAs(path string, mode os.FileMode) error //TransferFile: Tranfer single file TransferFileAs(path string, remotePath string, mode os.FileMode) error //TransferFolder: Tranfer folder recursively TransferFolderAs(path string, remotePath string, mode os.FileMode) error //TransferFile: Tranfer single file TransferFile(path string, remotePath string) error //TransferFolder: Tranfer folder recursively TransferFolder(path string, remotePath string) error // SetStdio: Sets the tranfer standard and error I/O streams SetStdio(stdout, stderr io.Writer) FileTransfer }
Manages the remote file transfer
type NetworkClient ¶
type NetworkClient interface { // Close: Cloeses the reote connection Close() error // Clone: Create clone of current Network Client, within all state Clone() NetworkClient // Terminal: Creates an interactive shell on client. Terminal(config *TerminalConfig) RemoteShell // NewCmd: Creates a client command NewCmd(cmd string) CommandsScript // Script: Creates a script client command list Script(script string) CommandsScript // ScriptFile: Creates a script client command list from file ScriptFile(fname string) CommandsScript // Shell: Creates a noninteractive shell on client. Shell() RemoteShell // FileTranfer: Creates a file transfer manager session. FileTranfer() FileTransfer }
Manages the client server connectivity
func ConnectHandlerViaConfig ¶
func ConnectHandlerViaConfig(connConfig module.ConnectionConfig, handler ConnectionHandler, host defaults.HostValue, netConfig *module.NetProtocolType, depConfig *module.DeployConfig) (NetworkClient, error)
Apply and Open connection for a specific Connection Handler, based on the Connection HAndler Configuration and the input Parameters / network config files data
type NewConnectionHandlerFunc ¶
type NewConnectionHandlerFunc func(bool, bool) (ConnectionHandler, ConnectionHandlerConfig)
Function defining the Connection Handler / Connection Handler Configuration Pair instance Function
type RemoteShell ¶
type RemoteShell interface { // Close: Cloeses the reote connection Close() error // Start: start a remote shell on client Start() error // SetStdio: Sets the shell standard and error I/O streams SetStdio(stdin io.Reader, stdout, stderr io.Writer) RemoteShell }
Manages the interaction on client side with the Remote Shell
type TerminalConfig ¶
type TerminalConfig struct { Term string Height int Weight int Modes ssh.TerminalModes }
Configuration for the remote session terminal
Click to show internal directories.
Click to hide internal directories.