construct

package
v0.0.0-...-5b61d62 Latest Latest
Warning

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

Go to latest
Published: Dec 23, 2021 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func EncodePowershellCommand

func EncodePowershellCommand(command []byte) string

Types

type ConstructMessenger

type ConstructMessenger interface {
	CreateProvisionDirStarted()
	CreateProvisionDirSucceeded()
	UploadArtifactsStarted()
	UploadArtifactsSucceeded()
	EnableWinRMStarted()
	EnableWinRMSucceeded()
	ValidateVMConnectionStarted()
	ValidateVMConnectionSucceeded()
	ExtractArtifactsStarted()
	ExtractArtifactsSucceeded()
	ExecuteSetupScriptStarted()
	ExecuteSetupScriptSucceeded()
	RebootHasStarted()
	RebootHasFinished()
	ExecutePostRebootScriptStarted()
	ExecutePostRebootScriptSucceeded()
	ExecutePostRebootWarning(warning string)
	UploadFileStarted(artifact string)
	UploadFileSucceeded()
	WaitingForShutdown()
	ShutdownCompleted()
	WinRMDisconnectedForReboot()
	LogOutUsersStarted()
	LogOutUsersSucceeded()
}

type GuestManager

type GuestManager interface {
	ExitCodeForProgramInGuest(ctx context.Context, pid int64) (int32, error)
	StartProgramInGuest(ctx context.Context, command, args string) (int64, error)
	DownloadFileInGuest(ctx context.Context, path string) (io.Reader, int64, error)
}

type IaasClient

type IaasClient interface {
	UploadArtifact(vmInventoryPath, artifact, destination, username, password string) error
	MakeDirectory(vmInventoryPath, path, username, password string) error
	Start(vmInventoryPath, username, password, command string, args ...string) (string, error)
	WaitForExit(vmInventoryPath, username, password, pid string) (int, error)
	IsPoweredOff(vmInventoryPath string) (bool, error)
}

type Messenger

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

func NewMessenger

func NewMessenger(out io.Writer) *Messenger

func (*Messenger) CreateProvisionDirStarted

func (m *Messenger) CreateProvisionDirStarted()

func (*Messenger) CreateProvisionDirSucceeded

func (m *Messenger) CreateProvisionDirSucceeded()

func (*Messenger) DownloadFileFailed

func (m *Messenger) DownloadFileFailed(errorMessage string)

func (*Messenger) EnableWinRMStarted

func (m *Messenger) EnableWinRMStarted()

func (*Messenger) EnableWinRMSucceeded

func (m *Messenger) EnableWinRMSucceeded()

func (*Messenger) ExecutePostRebootScriptStarted

func (m *Messenger) ExecutePostRebootScriptStarted()

func (*Messenger) ExecutePostRebootScriptSucceeded

func (m *Messenger) ExecutePostRebootScriptSucceeded()

func (*Messenger) ExecutePostRebootWarning

func (m *Messenger) ExecutePostRebootWarning(warning string)

func (*Messenger) ExecuteSetupScriptStarted

func (m *Messenger) ExecuteSetupScriptStarted()

func (*Messenger) ExecuteSetupScriptSucceeded

func (m *Messenger) ExecuteSetupScriptSucceeded()

func (*Messenger) ExitCodeRetrievalFailed

func (m *Messenger) ExitCodeRetrievalFailed(errorMessage string)

func (*Messenger) ExtractArtifactsStarted

func (m *Messenger) ExtractArtifactsStarted()

func (*Messenger) ExtractArtifactsSucceeded

func (m *Messenger) ExtractArtifactsSucceeded()

func (*Messenger) LogOutUsersStarted

func (m *Messenger) LogOutUsersStarted()

func (*Messenger) LogOutUsersSucceeded

func (m *Messenger) LogOutUsersSucceeded()

func (*Messenger) OSVersionFileCreationFailed

func (m *Messenger) OSVersionFileCreationFailed(errorMessage string)

func (*Messenger) RebootHasFinished

func (m *Messenger) RebootHasFinished()

func (*Messenger) RebootHasStarted

func (m *Messenger) RebootHasStarted()

func (*Messenger) ShutdownCompleted

func (m *Messenger) ShutdownCompleted()

func (*Messenger) UploadArtifactsStarted

func (m *Messenger) UploadArtifactsStarted()

func (*Messenger) UploadArtifactsSucceeded

func (m *Messenger) UploadArtifactsSucceeded()

func (*Messenger) UploadFileStarted

func (m *Messenger) UploadFileStarted(artifact string)

func (*Messenger) UploadFileSucceeded

func (m *Messenger) UploadFileSucceeded()

func (*Messenger) ValidateVMConnectionStarted

func (m *Messenger) ValidateVMConnectionStarted()

func (*Messenger) ValidateVMConnectionSucceeded

func (m *Messenger) ValidateVMConnectionSucceeded()

func (*Messenger) WaitingForShutdown

func (m *Messenger) WaitingForShutdown()

func (*Messenger) WinRMDisconnectedForReboot

func (m *Messenger) WinRMDisconnectedForReboot()

type RebootWaiterI

type RebootWaiterI interface {
	WaitForRebootFinished() error
}

type ScriptExecutor

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

func NewScriptExecutor

func NewScriptExecutor(remoteManager RemoteManager) *ScriptExecutor

func (*ScriptExecutor) ExecutePostRebootScript

func (e *ScriptExecutor) ExecutePostRebootScript(timeout time.Duration) error

func (*ScriptExecutor) ExecuteSetupScript

func (e *ScriptExecutor) ExecuteSetupScript(stembuildVersion string) error

type ScriptExecutorI

type ScriptExecutorI interface {
	ExecuteSetupScript(stembuildVersion string) error
	ExecutePostRebootScript(timeout time.Duration) error
}

type VMConnectionValidator

type VMConnectionValidator interface {
	Validate() error
}

type VMConstruct

type VMConstruct struct {
	Client IaasClient

	RebootWaitTime time.Duration
	// contains filtered or unexported fields
}

func NewVMConstruct

func NewVMConstruct(
	ctx context.Context,
	remoteManager RemoteManager,
	vmUsername,
	vmPassword,
	vmInventoryPath string,
	client IaasClient,
	guestManager GuestManager,
	winRMEnabler WinRMEnabler,
	vmConnectionValidator VMConnectionValidator,
	messenger ConstructMessenger,
	poller poller.PollerI,
	versionGetter VersionGetter,
	rebootWaiter RebootWaiterI,
	scriptExecutor ScriptExecutorI,
) *VMConstruct

func (*VMConstruct) PrepareVM

func (c *VMConstruct) PrepareVM() error

type VersionGetter

type VersionGetter interface {
	GetVersion() string
}

type WinRMConnectionValidator

type WinRMConnectionValidator struct {
	RemoteManager RemoteManager
}

func (*WinRMConnectionValidator) Validate

func (v *WinRMConnectionValidator) Validate() error

type WinRMEnabler

type WinRMEnabler interface {
	Enable() error
}

type WinRMManager

type WinRMManager struct {
	GuestManager GuestManager
	Unarchiver   zipUnarchiver
}

func (*WinRMManager) Enable

func (w *WinRMManager) Enable() 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