ssh

package
v1.9.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 12, 2021 License: Apache-2.0 Imports: 16 Imported by: 6

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Connection

type Connection struct {
	// contains filtered or unexported fields
}

func (Connection) Run

func (c Connection) Run(cmd string) (stdout, stderr []byte, exitCode int, err error)

func (Connection) Stream

func (c Connection) Stream(cmd string, stdoutWriter io.Writer) (stderr []byte, exitCode int, err error)

func (Connection) StreamStdin

func (c Connection) StreamStdin(cmd string, stdinReader io.Reader) (stdout, stderr []byte, exitCode int, err error)

func (Connection) Username

func (c Connection) Username() string

type Logger

type Logger interface {
	Warn(tag, msg string, args ...interface{})
	Debug(tag, msg string, args ...interface{})
	Error(tag, msg string, args ...interface{})
}

type RemoteRunner

type RemoteRunner interface {
	ConnectedUsername() string
	DirectoryExists(dir string) (bool, error)
	RemoveDirectory(dir string) error
	ArchiveAndDownload(directory string, writer io.Writer) error
	CreateDirectory(directory string) error
	ExtractAndUpload(reader io.Reader, directory string) error
	SizeOf(path string) (string, error)
	SizeInBytes(path string) (int, error)
	ChecksumDirectory(path string) (map[string]string, error)
	RunScript(path, label string) (string, error)
	RunScriptWithEnv(path string, env map[string]string, label string) (string, error)
	FindFiles(pattern string) ([]string, error)
	IsWindows() (bool, error)
}

func NewSshRemoteRunner

func NewSshRemoteRunner(host, user, privateKey string, publicKeyCallback ssh.HostKeyCallback, publicKeyAlgorithm []string, logger Logger) (RemoteRunner, error)

type RemoteRunnerFactory

type RemoteRunnerFactory func(host, user, privateKey string, publicKeyCallback ssh.HostKeyCallback, publicKeyAlgorithm []string, logger Logger) (RemoteRunner, error)

type SSHConnection

type SSHConnection interface {
	Stream(cmd string, writer io.Writer) ([]byte, int, error)
	StreamStdin(cmd string, reader io.Reader) ([]byte, []byte, int, error)
	Run(cmd string) ([]byte, []byte, int, error)
	Username() string
}

func NewConnection

func NewConnection(hostName, userName, privateKey string, publicKeyCallback ssh.HostKeyCallback, publicKeyAlgorithm []string, logger Logger) (SSHConnection, error)

func NewConnectionWithServerAliveInterval

func NewConnectionWithServerAliveInterval(hostName, userName, privateKey string, publicKeyCallback ssh.HostKeyCallback, publicKeyAlgorithm []string, serverAliveInterval time.Duration, logger Logger) (SSHConnection, error)

type SSHOptsGenerator

type SSHOptsGenerator func(uuidGen uuid.Generator) (director.SSHOpts, string, error)

type SSHSession added in v1.9.1

type SSHSession interface {
	Run(cmd string) error
	SendRequest(name string, wantReply bool, payload []byte) (bool, error)
	Close() error
}

type SSHSessionBuilder added in v1.9.1

type SSHSessionBuilder = func(client *ssh.Client, stdin io.Reader, stdout, stderr io.Writer) (SSHSession, error)

type SshRemoteRunner

type SshRemoteRunner struct {
	// contains filtered or unexported fields
}

func (SshRemoteRunner) ArchiveAndDownload

func (r SshRemoteRunner) ArchiveAndDownload(directory string, writer io.Writer) error

func (SshRemoteRunner) ChecksumDirectory

func (r SshRemoteRunner) ChecksumDirectory(path string) (map[string]string, error)

func (SshRemoteRunner) ConnectedUsername

func (r SshRemoteRunner) ConnectedUsername() string

func (SshRemoteRunner) CreateDirectory

func (r SshRemoteRunner) CreateDirectory(directory string) error

func (SshRemoteRunner) DirectoryExists

func (r SshRemoteRunner) DirectoryExists(dir string) (bool, error)

func (SshRemoteRunner) ExtractAndUpload

func (r SshRemoteRunner) ExtractAndUpload(reader io.Reader, directory string) error

func (SshRemoteRunner) FindFiles

func (r SshRemoteRunner) FindFiles(pattern string) ([]string, error)

func (SshRemoteRunner) IsWindows

func (r SshRemoteRunner) IsWindows() (bool, error)

func (SshRemoteRunner) RemoveDirectory

func (r SshRemoteRunner) RemoveDirectory(dir string) error

func (SshRemoteRunner) RunScript

func (r SshRemoteRunner) RunScript(path, label string) (string, error)

func (SshRemoteRunner) RunScriptWithEnv

func (r SshRemoteRunner) RunScriptWithEnv(path string, env map[string]string, label string) (string, error)

func (SshRemoteRunner) SizeInBytes added in v1.7.2

func (r SshRemoteRunner) SizeInBytes(path string) (int, error)

func (SshRemoteRunner) SizeOf

func (r SshRemoteRunner) SizeOf(path string) (string, error)

Directories

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL