singular

package
v0.0.0-...-298751d Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2024 License: AGPL-3.0 Imports: 10 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Register

func Register(registry facade.FacadeRegistry)

Register is called to expose a package of facades onto a given registry.

Types

type Backend

type Backend interface {
	// ControllerTag tells the Facade which controller it should consider
	// requests for.
	ControllerTag() names.ControllerTag

	// ModelTag tells the Facade what models it should consider requests for.
	ModelTag() names.ModelTag
}

Backend supplies capabilities required by a Facade.

type Facade

type Facade struct {
	// contains filtered or unexported fields
}

Facade allows controller machines to request exclusive rights to administer some specific model or controller for a limited time.

func NewFacade

func NewFacade(backend Backend, claimer lease.Claimer, auth facade.Authorizer) (*Facade, error)

NewFacade returns a singular-controller API facade, backed by the supplied state, so long as the authorizer represents a controller machine.

func (*Facade) Claim

func (facade *Facade) Claim(args params.SingularClaims) (result params.ErrorResults)

Claim makes the supplied singular-controller lease requests. (In practice, any requests not for the connection's model or controller, or not on behalf of the connected ModelManager machine, will be rejected.)

func (*Facade) Wait

func (facade *Facade) Wait(ctx context.Context, args params.Entities) (result params.ErrorResults)

Wait waits for the singular-controller lease to expire for all supplied entities. (In practice, any requests that do not refer to the connection's model or controller will be rejected.)

Jump to

Keyboard shortcuts

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