system

package
Version: v0.0.0-...-9a89ba0 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2014 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CalculateNetworkAndBroadcast

func CalculateNetworkAndBroadcast(ipAddress, netmask string) (network, broadcast string, err error)

Types

type CmdRunner

type CmdRunner interface {
	// RunComplexCommand returns error as nil:
	//  - command runs and exits with a zero exit status
	// RunComplexCommand returns error:
	//  - command runs and exits with a non-zero exit status
	//  - command does not run
	RunComplexCommand(cmd Command) (stdout, stderr string, exitStatus int, err error)

	RunComplexCommandAsync(cmd Command) (Process, error)

	RunCommand(cmdName string, args ...string) (stdout, stderr string, exitStatus int, err error)

	RunCommandWithInput(input, cmdName string, args ...string) (stdout, stderr string, exitStatus int, err error)

	CommandExists(cmdName string) (exists bool)
}

func NewExecCmdRunner

func NewExecCmdRunner(logger boshlog.Logger) CmdRunner

type Command

type Command struct {
	Name           string
	Args           []string
	Env            map[string]string
	UseIsolatedEnv bool

	WorkingDir string

	Stdin io.Reader

	// Full stdout and stderr will be captured to memory
	// and returned in the Result unless custom Stdout/Stderr are specified.
	Stdout io.Writer
	Stderr io.Writer
}

type ExecError

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

func NewExecError

func NewExecError(cmd, stdout, stderr string) ExecError

func (ExecError) Error

func (e ExecError) Error() string

func (ExecError) ShortError

func (e ExecError) ShortError() string

ShortError returns an error message that has stdout/stderr truncated.

type FileSystem

type FileSystem interface {
	HomeDir(username string) (path string, err error)

	// MkdirAll will not change existing dir permissions
	// if dir exists and has different permissions
	MkdirAll(path string, perm os.FileMode) (err error)
	RemoveAll(fileOrDir string) (err error)

	Chown(path, username string) (err error)
	Chmod(path string, perm os.FileMode) (err error)

	OpenFile(path string, flag int, perm os.FileMode) (ReadWriteCloseStater, error)

	WriteFileString(path, content string) (err error)
	WriteFile(path string, content []byte) (err error)
	ConvergeFileContents(path string, content []byte) (written bool, err error)

	ReadFileString(path string) (content string, err error)
	ReadFile(path string) (content []byte, err error)

	FileExists(path string) bool

	Rename(oldPath, newPath string) (err error)

	// After Symlink file at newPath will be pointing to file at oldPath.
	// Symlink call will remove file at newPath if one exists
	// to make newPath a symlink to the file at oldPath.
	Symlink(oldPath, newPath string) (err error)
	ReadLink(symlinkPath string) (targetPath string, err error)

	CopyFile(srcPath, dstPath string) (err error)

	// Returns *unique* temporary file/dir with a custom prefix
	TempFile(prefix string) (file *os.File, err error)
	TempDir(prefix string) (path string, err error)

	Glob(pattern string) (matches []string, err error)
	Walk(root string, walkFunc filepath.WalkFunc) error
}

func NewOsFileSystem

func NewOsFileSystem(logger boshlog.Logger) FileSystem

type Process

type Process interface {
	// Wait is the only way to get back process result information.
	// It must not be called multiple times.
	Wait() <-chan Result

	// TerminateNicely can be called multiple times.
	// It must only be called after Wait().
	TerminateNicely(killGracePeriod time.Duration) error
}

type ReadWriteCloseStater

type ReadWriteCloseStater interface {
	io.ReadWriteCloser
	ReadAt([]byte, int64) (int, error)
	Stat() (os.FileInfo, error)
}

type Result

type Result struct {
	// Full stdout and stderr are captured to memory
	Stdout string
	Stderr string

	ExitStatus int
	Error      error
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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