Documentation
¶
Index ¶
- func BrokerAPIManifold(config BrokerAPIConfig, start BrokerAPIStartFunc) dependency.Manifold
- func EnvironAPIManifold(config EnvironAPIConfig, start EnvironAPIStartFunc) dependency.Manifold
- func MachineManifold(config MachineManifoldConfig) dependency.Manifold
- func ModelManifold(config ModelManifoldConfig) dependency.Manifold
- func NewContainerWorker(config Config) (worker.Worker, error)
- func NewEnvironWorker(config Config) (worker.Worker, error)
- type BrokerAPIConfig
- type BrokerAPIStartFunc
- type Config
- type EnvironAPIConfig
- type EnvironAPIStartFunc
- type InstanceMutaterAPI
- type Logger
- type MachineContext
- type MachineManifoldConfig
- type ModelManifoldConfig
- type MutaterContext
- type MutaterMachine
- type RequiredLXDProfilesFunc
- type RequiredMutaterContextFunc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BrokerAPIManifold ¶
func BrokerAPIManifold(config BrokerAPIConfig, start BrokerAPIStartFunc) dependency.Manifold
BrokerAPIManifold returns a dependency.Manifold that calls the supplied start func with the API and envrion resources defined in the config (once those resources are present).
func EnvironAPIManifold ¶
func EnvironAPIManifold(config EnvironAPIConfig, start EnvironAPIStartFunc) dependency.Manifold
EnvironAPIManifold returns a dependency.Manifold that calls the supplied start func with the API and envrion resources defined in the config (once those resources are present).
func MachineManifold ¶
func MachineManifold(config MachineManifoldConfig) dependency.Manifold
MachineManifold returns a Manifold that encapsulates the instancemutater worker.
func ModelManifold ¶
func ModelManifold(config ModelManifoldConfig) dependency.Manifold
ModelManifold returns a Manifold that encapsulates the instancemutater worker.
func NewContainerWorker ¶
NewContainerWorker returns a worker that keeps track of the containers in the state for this machine agent and polls their instance for addition or removal changes.
Types ¶
type BrokerAPIConfig ¶
BrokerAPIConfig represents a typed manifold starter func, that handles getting resources from the configuration.
type BrokerAPIStartFunc ¶
type BrokerAPIStartFunc func(environs.InstanceBroker, base.APICaller, agent.Agent) (worker.Worker, error)
BrokerAPIStartFunc encapsulates creation of a worker based on the environ and APICaller.
type Config ¶
type Config struct {
Facade InstanceMutaterAPI
// Logger is the Logger for this worker.
Logger Logger
Broker environs.LXDProfiler
AgentConfig agent.Config
// Tag is the current MutaterMachine tag
Tag names.Tag
// GetMachineWatcher allows the worker to watch different "machines"
// depending on whether this work is running with an environ broker
// or a container broker.
GetMachineWatcher func() (watcher.StringsWatcher, error)
// GetRequiredLXDProfiles provides a slice of strings representing the
// lxd profiles to be included on every LXD machine used given the
// current model name.
GetRequiredLXDProfiles RequiredLXDProfilesFunc
// GetRequiredContext provides a way to override the given context
// Note: the following is required for testing purposes when we have an
// error case and we want to know when it's valid to kill/clean the worker.
GetRequiredContext RequiredMutaterContextFunc
}
Config represents the configuration required to run a new instance machineApi worker.
type EnvironAPIConfig ¶
EnvironAPIConfig represents a typed manifold starter func, that handles getting resources from the configuration.
type EnvironAPIStartFunc ¶
EnvironAPIStartFunc encapsulates creation of a worker based on the environ and APICaller.
type InstanceMutaterAPI ¶
type InstanceMutaterAPI interface {
WatchMachines() (watcher.StringsWatcher, error)
Machine(tag names.MachineTag) (instancemutater.MutaterMachine, error)
}
func NewClient ¶
func NewClient(apiCaller base.APICaller) InstanceMutaterAPI
type Logger ¶
type Logger interface {
Warningf(message string, args ...interface{})
Infof(message string, args ...interface{})
Debugf(message string, args ...interface{})
Errorf(message string, args ...interface{})
Tracef(message string, args ...interface{})
}
Logger represents the logging methods called.
type MachineContext ¶
type MachineContext interface {
// contains filtered or unexported methods
}
type MachineManifoldConfig ¶
type MachineManifoldConfig struct {
APICallerName string
BrokerName string
AgentName string
Logger Logger
NewWorker func(Config) (worker.Worker, error)
NewClient func(base.APICaller) InstanceMutaterAPI
}
MachineManifoldConfig describes the resources used by the instancemuter worker.
func (MachineManifoldConfig) Validate ¶
func (config MachineManifoldConfig) Validate() error
Validate validates the manifold configuration.
type ModelManifoldConfig ¶
type ModelManifoldConfig struct {
APICallerName string
EnvironName string
AgentName string
Logger Logger
NewWorker func(Config) (worker.Worker, error)
NewClient func(base.APICaller) InstanceMutaterAPI
}
ModelManifoldConfig describes the resources used by the instancemuter worker.
func (ModelManifoldConfig) Validate ¶
func (config ModelManifoldConfig) Validate() error
Validate validates the manifold configuration.
type MutaterContext ¶
type MutaterContext interface {
MachineContext
// contains filtered or unexported methods
}
type MutaterMachine ¶
type MutaterMachine struct {
// contains filtered or unexported fields
}
type RequiredLXDProfilesFunc ¶
type RequiredMutaterContextFunc ¶
type RequiredMutaterContextFunc func(MutaterContext) MutaterContext