construct

package
v0.0.0-...-6157915 Latest Latest
Warning

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

Go to latest
Published: Apr 20, 2024 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.RemoteManager) *ScriptExecutor

func (*ScriptExecutor) ExecutePostRebootScript

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

func (*ScriptExecutor) ExecuteSetupScript

func (e *ScriptExecutor) ExecuteSetupScript(stembuildVersion string, setupFlags []string) error

type ScriptExecutorI

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

type VMConnectionValidator

type VMConnectionValidator interface {
	Validate() error
}

type VMConstruct

type VMConstruct struct {
	Client IaasClient

	RebootWaitTime time.Duration
	SetupFlags     []string
	// contains filtered or unexported fields
}

func NewVMConstruct

func NewVMConstruct(
	ctx context.Context,
	remoteManager 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,
	setupFlags []string,
) *VMConstruct

func (*VMConstruct) PrepareVM

func (c *VMConstruct) PrepareVM() error

type VersionGetter

type VersionGetter interface {
	GetVersion() string
}

type WinRMConnectionValidator

type WinRMConnectionValidator struct {
	RemoteManager 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