Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewGroupPlugin ¶
func NewGroupPlugin( instancePlugins InstancePluginLookup, flavorPlugins FlavorPluginLookup, pollInterval time.Duration, maxParallelNum uint) group.Plugin
NewGroupPlugin creates a new group plugin.
Types ¶
type FlavorPluginLookup ¶
type FlavorPluginLookup func(plugin_base.Name) (flavor.Plugin, error)
FlavorPluginLookup helps with looking up a flavor plugin by name
type InstancePluginLookup ¶
type InstancePluginLookup func(plugin_base.Name) (instance.Plugin, error)
InstancePluginLookup helps with looking up an instance plugin by name
type Scaled ¶
type Scaled interface { // CreateOne creates a single instance in the scaled group. Parameters may be provided to customize behavior // of the instance. CreateOne(id *instance.LogicalID) // Health inspects the current health state of an instance. Health(inst instance.Description) flavor.Health // Destroy destroys a single instance. Destroy(inst instance.Description) // List returns all instances in the group. List() ([]instance.Description, error) }
Scaled is a collection of instances that can be scaled up and down.
type Supervisor ¶
type Supervisor interface { util.RunStop Size() uint PlanUpdate(scaled Scaled, settings groupSettings, newSettings groupSettings) (updatePlan, error) }
Supervisor watches over a group of instances.
func NewQuorum ¶
func NewQuorum(scaled Scaled, logicalIDs []instance.LogicalID, pollInterval time.Duration) Supervisor
NewQuorum creates a supervisor for a group of instances operating in a quorum.
func NewScalingGroup ¶
func NewScalingGroup(scaled Scaled, size uint, pollInterval time.Duration, maxParallelNum uint) Supervisor
NewScalingGroup creates a supervisor that monitors a group of instances on a provisioner, attempting to maintain a desired size.
Source Files ¶
Click to show internal directories.
Click to hide internal directories.