common

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: 20 Imported by: 92

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrPartialResults = errors.New("API call only returned partial results")
)

Functions

func Life

func Life(ctx context.Context, caller base.FacadeCaller, tags []names.Tag) ([]params.LifeResult, error)

Life requests the life cycle of the given entities from the given server-side API facade via the given caller.

func OneLife

func OneLife(ctx context.Context, caller base.FacadeCaller, tag names.Tag) (life.Value, error)

OneLife requests the life cycle of the given entity from the given server-side API facade via the given caller.

func OwnerTagFromSecretOwner

func OwnerTagFromSecretOwner(owner coresecrets.Owner) (names.Tag, error)

OwnerTagFromSecretOwner converts the secret owner to a tag.

func SecretOwnerFromTag

func SecretOwnerFromTag(ownerTag string) (coresecrets.Owner, error)

SecretOwnerFromTag converts the tag string to a secret owner.

func StreamDebugLog

func StreamDebugLog(ctx context.Context, source base.StreamConnector, args DebugLogParams) (<-chan LogMessage, error)

StreamDebugLog requests the specified debug log records from the server and returns a channel of the messages that come back.

func Watch

func Watch(ctx context.Context, facade base.FacadeCaller, method string, tag names.Tag) (watcher.NotifyWatcher, error)

Watch starts a NotifyWatcher for the entity with the specified tag.

Types

type APIAddresser

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

APIAddresser provides common client-side API functions to call into apiserver.common.APIAddresser

func NewAPIAddresser

func NewAPIAddresser(facade base.FacadeCaller) *APIAddresser

NewAPIAddresser returns a new APIAddresser that makes API calls using caller and the specified facade name.

func (*APIAddresser) APIAddresses

func (a *APIAddresser) APIAddresses(ctx context.Context) ([]string, error)

APIAddresses returns the list of addresses used to connect to the API.

func (*APIAddresser) APIHostPorts

func (a *APIAddresser) APIHostPorts(ctx context.Context) ([]network.ProviderHostPorts, error)

APIHostPorts returns the host/port addresses of the API servers.

func (*APIAddresser) WatchAPIHostPorts

func (a *APIAddresser) WatchAPIHostPorts(ctx context.Context) (watcher.NotifyWatcher, error)

WatchAPIHostPorts watches the host/port addresses of the API servers.

type ControllerConfigAPI

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

ControllerConfigAPI provides common client-side API functions to call into apiserver.common.ControllerConfig.

func NewControllerConfig

func NewControllerConfig(facade base.FacadeCaller) *ControllerConfigAPI

NewControllerConfig creates a ControllerConfig on the specified facade, and uses this name when calling through the caller.

func (*ControllerConfigAPI) ControllerConfig

func (e *ControllerConfigAPI) ControllerConfig(ctx context.Context) (controller.Config, error)

ControllerConfig returns the current controller configuration.

type DebugLogParams

type DebugLogParams struct {
	// IncludeEntity lists entity tags to include in the response. Tags may
	// include '*' wildcards e.g.: unit-mysql-*, machine-2. If
	// none are set, then all lines are considered included.
	IncludeEntity []string
	// IncludeModule lists logging modules to include in the response. If none
	// are set all modules are considered included.  If a module is specified,
	// all the submodules also match.
	IncludeModule []string
	// IncludeLabel lists logging labels to include in the response. If none
	// are set all labels are considered included.
	IncludeLabels map[string]string
	// ExcludeEntity lists entity tags to exclude from the response. As with
	// IncludeEntity the values may include '*' wildcards.
	ExcludeEntity []string
	// ExcludeModule lists logging modules to exclude from the response. If a
	// module is specified, all the submodules are also excluded.
	ExcludeModule []string
	// ExcludeLabel lists logging labels to exclude from the response.
	ExcludeLabels map[string]string

	// Limit defines the maximum number of lines to return. Once this many
	// have been sent, the socket is closed.  If zero, all filtered lines are
	// sent down the connection until the client closes the connection.
	Limit uint
	// Backlog tells the server to try to go back this many lines before
	// starting filtering. If backlog is zero and replay is false, then there
	// may be an initial delay until the next matching log message is written.
	Backlog uint
	// Level specifies the minimum logging level to be sent back in the response.
	Level loggo.Level
	// Replay tells the server to start at the start of the log file rather
	// than the end. If replay is true, backlog is ignored.
	Replay bool
	// NoTail tells the server to only return the logs it has now, and not
	// to wait for new logs to arrive.
	NoTail bool
	// StartTime should be a time in the past - only records with a
	// log time on or after StartTime will be returned.
	StartTime time.Time
	// Firehose streams logs from all models from the logsink.log file.
	Firehose bool
}

DebugLogParams holds parameters for WatchDebugLog that control the filtering of the log messages. If the structure is zero initialized, the entire log file is sent back starting from the end, and until the user closes the connection.

func (DebugLogParams) URLQuery

func (args DebugLogParams) URLQuery() url.Values

type LeadershipPinningAPI

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

LeadershipPinningAPI provides common client-side API functions for manipulating and querying application leadership pinning.

func NewLeadershipPinningAPI

func NewLeadershipPinningAPI(caller base.APICaller) *LeadershipPinningAPI

NewLeadershipPinningAPI creates and returns a new leadership API client.

func NewLeadershipPinningAPIFromFacade

func NewLeadershipPinningAPIFromFacade(facade base.FacadeCaller) *LeadershipPinningAPI

NewLeadershipPinningAPIFromFacade creates and returns a new leadership API client based on the input client facade and facade caller.

func (*LeadershipPinningAPI) PinMachineApplications

func (a *LeadershipPinningAPI) PinMachineApplications(ctx context.Context) (map[string]error, error)

PinMachineApplications pins leadership for applications represented by units running on the local machine. If the caller is not a machine agent, an error will be returned. The return is a collection of applications determined to be running on the machine, with the result of each individual pin operation.

func (*LeadershipPinningAPI) PinnedLeadership

func (a *LeadershipPinningAPI) PinnedLeadership(ctx context.Context) (map[string][]names.Tag, error)

PinnedLeadership returns a collection of application names for which leadership is currently pinned, with the entities requiring each application's pinned behaviour.

func (*LeadershipPinningAPI) UnpinMachineApplications

func (a *LeadershipPinningAPI) UnpinMachineApplications(ctx context.Context) (map[string]error, error)

UnpinMachineApplications pins leadership for applications represented by units running on the local machine. If the caller is not a machine agent, an error will be returned. The return is a collection of applications determined to be running on the machine, with the result of each individual unpin operation.

type LogMessage

type LogMessage struct {
	ModelUUID string
	Entity    string
	Timestamp time.Time
	Severity  string
	Module    string
	Location  string
	Message   string
	Labels    map[string]string
}

LogMessage is a structured logging entry.

type ModelConfigWatcher

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

ModelConfigWatcher provides common client-side API functions to call into apiserver.common.ModelConfigWatcher.

func NewModelConfigWatcher

func NewModelConfigWatcher(facade base.FacadeCaller) *ModelConfigWatcher

NewModelConfigWatcher creates a ModelConfigWatcher on the specified facade, and uses this name when calling through the caller.

func (*ModelConfigWatcher) ModelConfig

func (e *ModelConfigWatcher) ModelConfig(ctx context.Context) (*config.Config, error)

ModelConfig returns the current model configuration.

func (*ModelConfigWatcher) UpdateStatusHookInterval

func (e *ModelConfigWatcher) UpdateStatusHookInterval(ctx context.Context) (time.Duration, error)

UpdateStatusHookInterval returns the current update status hook interval.

func (*ModelConfigWatcher) WatchForModelConfigChanges

func (e *ModelConfigWatcher) WatchForModelConfigChanges(ctx context.Context) (watcher.NotifyWatcher, error)

WatchForModelConfigChanges return a NotifyWatcher waiting for the model configuration to change.

func (*ModelConfigWatcher) WatchUpdateStatusHookInterval

func (e *ModelConfigWatcher) WatchUpdateStatusHookInterval(ctx context.Context) (watcher.NotifyWatcher, error)

WatchUpdateStatusHookInterval returns a NotifyWatcher that fires when the update status hook interval changes.

type ModelStatusAPI

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

ModelStatusAPI provides common client-side API functions to call into apiserver.common.ModelStatusAPI.

func NewModelStatusAPI

func NewModelStatusAPI(facade base.FacadeCaller) *ModelStatusAPI

NewModelStatusAPI creates a ModelStatusAPI on the specified facade, and uses this name when calling through the caller.

func (*ModelStatusAPI) ModelStatus

func (c *ModelStatusAPI) ModelStatus(ctx context.Context, tags ...names.ModelTag) ([]base.ModelStatus, error)

ModelStatus returns a status summary for each model tag passed in. If a given model is not found, the corresponding ModelStatus.Error field will contain an error matching errors.NotFound.

type UnitStateAPI

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

UnitStateAPI provides common agent-side API functions to call into apiserver.common/UnitState

func NewUniterStateAPI

func NewUniterStateAPI(facade base.FacadeCaller, tag names.UnitTag) *UnitStateAPI

NewUniterStateAPI creates a UnitStateAPI that uses the provided FacadeCaller for making calls.

func (*UnitStateAPI) SetState

func (u *UnitStateAPI) SetState(ctx context.Context, unitState params.SetUnitStateArg) error

SetState sets the state persisted by the charm running in this unit and the state internal to the uniter for this unit.

func (*UnitStateAPI) State

State returns the state persisted by the charm running in this unit and the state internal to the uniter for this unit.

Directories

Path Synopsis
Package charms provides common helpers for charm-related APIs.
Package charms provides common helpers for charm-related APIs.
Package secretbackends provides the api client for the secretbackends facade.
Package secretbackends provides the api client for the secretbackends facade.
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
Package secretsdrain provides the api client for the secretsdrain facade.
Package secretsdrain provides the api client for the secretsdrain facade.
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

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