machineactions

package
v0.0.0-...-8ff1004 Latest Latest
Warning

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

Go to latest
Published: Feb 15, 2019 License: AGPL-3.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var RunAsUser = "ubuntu"

RunAsUser is the user that the machine juju-run action is executed as.

Functions

func HandleAction

func HandleAction(name string, params map[string]interface{}) (results map[string]interface{}, err error)

HandleAction receives a name and a map of parameters for a given machine action. It will handle that action in a specific way and return a results map suitable for ActionFinish.

func Manifold

func Manifold(config ManifoldConfig) dependency.Manifold

Manifold returns a dependency.Manifold as configured.

func NewMachineActionsWorker

func NewMachineActionsWorker(config WorkerConfig) (worker.Worker, error)

NewMachineActionsWorker returns a worker.Worker that watches for actions enqueued on this machine and tries to execute them.

Types

type Facade

type Facade interface {
	WatchActionNotifications(agent names.MachineTag) (watcher.StringsWatcher, error)
	RunningActions(agent names.MachineTag) ([]params.ActionResult, error)

	Action(names.ActionTag) (*machineactions.Action, error)
	ActionBegin(names.ActionTag) error
	ActionFinish(tag names.ActionTag, status string, results map[string]interface{}, message string) error
}

Facade defines the capabilities required by the worker from the API.

func NewFacade

func NewFacade(apiCaller base.APICaller) Facade

NewFacade creates a Facade from a base.APICaller. It's a sensible value for ManifoldConfig.NewFacade.

type ManifoldConfig

type ManifoldConfig struct {
	AgentName     string
	APICallerName string

	NewFacade func(base.APICaller) Facade
	NewWorker func(WorkerConfig) (worker.Worker, error)
}

ManifoldConfig describes the dependencies of a machine action runner.

type WorkerConfig

type WorkerConfig struct {
	Facade       Facade
	MachineTag   names.MachineTag
	HandleAction func(name string, params map[string]interface{}) (results map[string]interface{}, err error)
}

WorkerConfig defines the worker's dependencies.

func (WorkerConfig) Validate

func (c WorkerConfig) Validate() error

Validate returns an error if the configuration is not complete.

Jump to

Keyboard shortcuts

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