Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Application ¶
type Application interface { Life() state.Life Charm() (Charm, bool, error) Name() string AllUnits() ([]Unit, error) UpdateUnits(unitsOp *state.UpdateUnitsOperation) error AddUnit(args state.AddUnitParams) (unit Unit, err error) GetScale() int }
Application provides the subset of application state required by the CAAS application facade.
type Broker ¶
type Broker interface {
Application(string, caas.DeploymentType) caas.Application
}
Broker contains methods from the caas.Broker interface used by the caasapplication facade.
type Charm ¶
type Charm interface {
Meta() *charm.Meta
}
Charm provides the subset of charm state required by the CAAS application facade.
type ControllerState ¶
type ControllerState interface { ControllerConfig() (jujucontroller.Config, error) APIHostPortsForAgents() ([]network.SpaceHostPorts, error) }
ControllerState provides the subset of controller state required by the CAAS application facade.
type Facade ¶
type Facade struct {
// contains filtered or unexported fields
}
func NewFacade ¶
func NewFacade( resources facade.Resources, authorizer facade.Authorizer, ctrlSt ControllerState, st State, broker Broker, clock clock.Clock, ) (*Facade, error)
NewFacade returns a new CAASOperator facade.
func NewStateFacade ¶
NewStateFacade provides the signature required for facade registration.
func (*Facade) UnitIntroduction ¶
func (f *Facade) UnitIntroduction(args params.CAASUnitIntroductionArgs) (params.CAASUnitIntroductionResult, error)
UnitIntroduction sets the status of each given entity.
func (*Facade) UnitTerminating ¶
UnitTerminating should be called by the CAASUnitTerminationWorker when the agent receives a signal to exit. UnitTerminating will return how the agent should shutdown.
type Model ¶
type Model interface { Containers(providerIds ...string) ([]state.CloudContainer, error) AgentVersion() (version.Number, error) ControllerTag() names.ControllerTag Tag() names.Tag }
Model provides the subset of CAAS model state required by the CAAS application facade.
type State ¶
type State interface { Application(string) (Application, error) Model() (Model, error) Unit(name string) (Unit, error) }
State provides the subset of model state required by the CAAS application facade.
type Unit ¶
type Unit interface { Tag() names.Tag ContainerInfo() (state.CloudContainer, error) Life() state.Life Refresh() error UpdateOperation(props state.UnitUpdateProperties) *state.UpdateUnitOperation SetPassword(string) error ApplicationName() string }