caasunitprovisioner

package
v0.0.0-...-f88c608 Latest Latest
Warning

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

Go to latest
Published: Feb 27, 2025 License: AGPL-3.0 Imports: 17 Imported by: 2

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 Application

type Application interface {
	WatchConfigSettingsHash() state.StringsWatcher
	ApplicationConfig() (coreconfig.ConfigAttributes, error)
}

Application provides the subset of application state required by the CAAS unit provisioner facade.

type ApplicationService

type ApplicationService interface {
	GetApplicationScale(ctx context.Context, appName string) (int, error)
	SetApplicationScale(ctx context.Context, appName string, scale int) error
	UpdateCloudService(ctx context.Context, appName, providerID string, sAddrs network.SpaceAddresses) error
	WatchApplicationScale(ctx context.Context, appName string) (watcher.NotifyWatcher, error)
}

ApplicationService is used to interact with the application service.

type CAASUnitProvisionerState

type CAASUnitProvisionerState interface {
	Application(string) (Application, error)
}

CAASUnitProvisionerState provides the subset of global state required by the CAAS unit provisioner facade.

type Facade

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

func NewFacade

func NewFacade(
	watcherRegistry facade.WatcherRegistry,
	resources facade.Resources,
	authorizer facade.Authorizer,
	networkService NetworkService,
	applicationService ApplicationService,
	st CAASUnitProvisionerState,
	clock clock.Clock,
	logger corelogger.Logger,
) (*Facade, error)

NewFacade returns a new CAAS unit provisioner Facade facade.

func (*Facade) ApplicationsScale

func (f *Facade) ApplicationsScale(ctx context.Context, args params.Entities) (params.IntResults, error)

func (*Facade) ApplicationsTrust

func (f *Facade) ApplicationsTrust(ctx context.Context, args params.Entities) (params.BoolResults, error)

ApplicationsTrust returns the trust status for specified applications in this model.

func (*Facade) UpdateApplicationsService

func (f *Facade) UpdateApplicationsService(ctx context.Context, args params.UpdateApplicationServiceArgs) (params.ErrorResults, error)

UpdateApplicationsService updates the Juju data model to reflect the given service details of the specified application.

func (*Facade) WatchApplicationsScale

func (f *Facade) WatchApplicationsScale(ctx context.Context, args params.Entities) (params.NotifyWatchResults, error)

WatchApplicationsScale starts a NotifyWatcher to watch changes to the applications' scale.

func (*Facade) WatchApplicationsTrustHash

func (f *Facade) WatchApplicationsTrustHash(ctx context.Context, args params.Entities) (params.StringsWatchResults, error)

WatchApplicationsTrustHash starts a StringsWatcher to watch changes to the applications' trust status.

type NetworkService

type NetworkService interface {
	// GetAllSpaces returns all spaces for the model.
	GetAllSpaces(ctx context.Context) (network.SpaceInfos, error)
}

NetworkService is the interface that is used to interact with the network spaces/subnets.

Jump to

Keyboard shortcuts

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