services

package
v0.0.0-...-b9bb202 Latest Latest
Warning

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

Go to latest
Published: Dec 20, 2024 License: AGPL-3.0 Imports: 35 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ControllerDomainServices

type ControllerDomainServices interface {
	// Controller returns the controller service.
	Controller() *controllerservice.Service
	// ControllerConfig returns the controller configuration service.
	ControllerConfig() *controllerconfigservice.WatchableService
	// ControllerNode returns the controller node service.
	ControllerNode() *controllernodeservice.Service
	// Model returns the model service.
	Model() *modelservice.Service
	//ModelDefaults returns the modeldefaults service.
	ModelDefaults() *modeldefaultsservice.Service
	// ExternalController returns the external controller service.
	ExternalController() *externalcontrollerservice.WatchableService
	// Credential returns the credential service.
	Credential() *credentialservice.WatchableService
	// AutocertCache returns the autocert cache service.
	AutocertCache() *autocertcacheservice.Service
	// Cloud returns the cloud service.
	Cloud() *cloudservice.WatchableService
	// Upgrade returns the upgrade service.
	Upgrade() *upgradeservice.WatchableService
	// Flag returns the flag service.
	Flag() *flagservice.Service
	// Access returns the access service. This includes the user and permission
	// controller.
	Access() *accessservice.Service
	// SecretBackend returns the secret backend service.
	SecretBackend() *secretbackendservice.WatchableService
	// Macaroon returns the macaroon bakery backend service
	Macaroon() *macaroonservice.Service
}

ControllerDomainServices provides access to the services required by the apiserver.

type ControllerObjectStoreServices

type ControllerObjectStoreServices interface {
	// ControllerConfig returns the controller configuration service.
	ControllerConfig() *controllerconfigservice.WatchableService

	// AgentObjectStore returns the object store service.
	// Primarily used for agent blob store. Although can be used for other
	// blob related operations.
	AgentObjectStore() *objectstoreservice.WatchableService
}

ControllerObjectStoreServices provides access to the services required by the apiserver. This is a subset of the ObjectStoreServices interface, for use only be object store workers, that want to operate in a controller context. Think s3caller, which wants the controller config service. We could use the controller domain services, but that would re-introduce a circular dependency. This isn't pretty, but is a necessary evil.

type DomainServices

type DomainServices interface {
	ControllerDomainServices
	ModelDomainServices
}

DomainServices provides access to the services required by the apiserver.

type DomainServicesGetter

type DomainServicesGetter interface {
	// ServicesForModel returns a DomainServices for the given model.
	ServicesForModel(modelID model.UUID) DomainServices
}

DomainServicesGetter represents a way to get a DomainServices for a given model.

type ModelDomainServices

type ModelDomainServices interface {
	// Agent returns the model's agent service.
	Agent() *modelagentservice.ModelService
	// AgentProvisioner returns the agent provisioner service.
	AgentProvisioner() *agentprovisionerservice.Service
	// Annotation returns the annotation service.
	Annotation() *annotationService.Service
	// Config returns the model config service.
	Config() *modelconfigservice.WatchableService
	// Machine returns the machine service.
	Machine() *machineservice.WatchableService
	// BlockDevice returns the block device service.
	BlockDevice() *blockdeviceservice.WatchableService
	// Application returns the application service.
	Application() *applicationservice.WatchableService
	// KeyManager returns the key manager service.
	KeyManager() *keymanagerservice.Service
	// KeyManagerWithImporter returns they manager service that is capable of importing keys
	// from an external source.
	KeyManagerWithImporter() *keymanagerservice.ImporterService
	// KeyUpdater returns the key updater service.
	KeyUpdater() *keyupdaterservice.WatchableService
	// Network returns the space service.
	Network() *networkservice.WatchableService
	// Storage returns the storage service.
	Storage() *storageservice.Service
	// Secret returns the secret service.
	Secret(secretservice.SecretServiceParams) *secretservice.WatchableService
	// ModelInfo returns the model service for the model. The model info
	// contains read-only information about the model.
	// Note: This should be called model, but we have naming conflicts with
	// the model service. As this is only for read-only model information, we
	// can rename it to the more obscure version.
	ModelInfo() *modelservice.ModelService
	// ModelMigration returns the model's migration service for support
	// migration operations.
	ModelMigration() *modelmigrationservice.Service
	// ModelSecretBackend returns the model secret backend service.
	ModelSecretBackend() *secretbackendservice.ModelSecretBackendService
	// Proxy returns the proxy service.
	Proxy() *proxyservice.Service
	// UnitState returns the service for persisting and retrieving remote unit
	// state. This is used to reconcile with local state to determine which
	// hooks to run, and is saved upon hook completion.
	UnitState() *unitstateservice.Service
	// CloudImageMetadata returns the service for persisting and retrieving cloud image metadata for a specific model
	CloudImageMetadata() *cloudimagemetadataservice.Service
	// Port returns the service for managing opened port ranges for units.
	Port() *portservice.WatchableService
	// Stub returns the stub service. A special service that collects temporary
	// methods required for wiring together domains which are not completely
	// implemented or wired up.
	//
	// Deprecated: Stub service contains only temporary methods and should be removed
	// as soon as possible.
	Stub() *stubservice.StubService
	// BlockCommand returns the service for blocking commands.
	BlockCommand() *blockcommandservice.Service
}

ModelDomainServices provides access to the services required by the apiserver for a given model.

type ObjectStoreServices

type ObjectStoreServices interface {
	ControllerObjectStoreServices

	// ObjectStore returns the object store service.
	ObjectStore() *objectstoreservice.WatchableService
}

ObjectStoreServices provides access to the services required by the apiserver.

type ObjectStoreServicesGetter

type ObjectStoreServicesGetter interface {
	// ServicesForModel returns a ObjectStoreServices for the given model.
	ServicesForModel(modelUUID model.UUID) ObjectStoreServices
}

ObjectStoreServicesGetter represents a way to get a ObjectStoreServices for a given model.

type ProviderServices

type ProviderServices interface {
	// Model returns the provider model service.
	Model() *modelservice.ProviderService
	// Cloud returns the provider cloud service.
	Cloud() *cloudservice.WatchableProviderService
	// Config returns the provider config service.
	Config() *modelconfigservice.WatchableProviderService
	// Credential returns the provider credential service.
	Credential() *credentialservice.WatchableProviderService
}

ProviderServices provides access to the services required by the provider.

type ProviderServicesGetter

type ProviderServicesGetter interface {
	// ServicesForModel returns a ProviderServices for the given model.
	ServicesForModel(modelUUID string) ProviderServices
}

ProviderServicesGetter represents a way to get a ProviderServices for a given model.

Jump to

Keyboard shortcuts

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