Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
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.
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.