instancemutater

package
v0.0.0-...-b0bff92 Latest Latest
Warning

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

Go to latest
Published: Dec 7, 2021 License: AGPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

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

func NewClient

func NewClient(caller base.APICaller) *Client

NewState creates a new instance mutater facade using the input caller.

func NewClientFromFacade

func NewClientFromFacade(facadeCaller base.FacadeCaller) *Client

NewStateFromFacade creates a new instance mutater facade using the input facade caller.

func (*Client) Machine

func (c *Client) Machine(tag names.MachineTag) (MutaterMachine, error)

Machine provides access to methods of a state.Machine through the facade.

func (*Client) WatchMachines

func (c *Client) WatchMachines() (watcher.StringsWatcher, error)

WatchMachines returns a StringsWatcher reporting changes to machines.

type Machine

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

Machine represents a juju machine as seen by an instancemutater worker.

func (*Machine) CharmProfilingInfo

func (m *Machine) CharmProfilingInfo() (*UnitProfileInfo, error)

CharmProfilingInfo implements MutaterMachine.CharmProfilingInfo.

func (*Machine) ContainerType

func (m *Machine) ContainerType() (instance.ContainerType, error)

ContainerType implements MutaterMachine.ContainerType.

func (*Machine) InstanceId

func (m *Machine) InstanceId() (string, error)

InstanceId implements MutaterMachine.InstanceId.

func (*Machine) Life

func (m *Machine) Life() life.Value

Life implements MutaterMachine.Life.

func (*Machine) Refresh

func (m *Machine) Refresh() error

Refresh implements MutaterMachine.Refresh.

func (*Machine) SetCharmProfiles

func (m *Machine) SetCharmProfiles(profiles []string) error

SetCharmProfiles implements MutaterMachine.SetCharmProfiles.

func (*Machine) SetModificationStatus

func (m *Machine) SetModificationStatus(status status.Status, info string, data map[string]interface{}) error

SetModificationStatus implements MutaterMachine.SetModificationStatus.

func (*Machine) Tag

func (m *Machine) Tag() names.MachineTag

Tag implements MutaterMachine.Tag.

func (*Machine) WatchContainers

func (m *Machine) WatchContainers() (watcher.StringsWatcher, error)

WatchContainers returns a StringsWatcher reporting changes to containers.

func (*Machine) WatchLXDProfileVerificationNeeded

func (m *Machine) WatchLXDProfileVerificationNeeded() (watcher.NotifyWatcher, error)

WatchLXDProfileVerificationNeeded implements MutaterMachine.WatchLXDProfileVerificationNeeded.

func (*Machine) WatchUnits

func (m *Machine) WatchUnits() (watcher.StringsWatcher, error)

WatchUnits implements MutaterMachine.WatchUnits.

type MutaterMachine

type MutaterMachine interface {

	// InstanceId returns the provider specific instance id for this machine
	InstanceId() (string, error)

	// CharmProfilingInfo returns info to update lxd profiles on the machine
	CharmProfilingInfo() (*UnitProfileInfo, error)

	// ContainerType returns the container type for this machine.
	ContainerType() (instance.ContainerType, error)

	// SetCharmProfiles records the given slice of charm profile names.
	SetCharmProfiles([]string) error

	// Tag returns the current machine tag
	Tag() names.MachineTag

	// Life returns the machine's lifecycle value.
	Life() life.Value

	// Refresh updates the cached local copy of the machine's data.
	Refresh() error

	// WatchUnits returns a watcher.StringsWatcher for watching units of a given
	// machine.
	WatchUnits() (watcher.StringsWatcher, error)

	// WatchLXDProfileVerificationNeeded returns a NotifyWatcher, notifies when the
	// following changes happen:
	//  - application charm URL changes and there is a lxd profile
	//  - unit is add or removed and there is a lxd profile
	WatchLXDProfileVerificationNeeded() (watcher.NotifyWatcher, error)

	// WatchContainers returns a watcher.StringsWatcher for watching
	// containers of a given machine.
	WatchContainers() (watcher.StringsWatcher, error)

	// SetModificationStatus sets the provider specific modification status
	// for a machine. Allowing the propagation of status messages to the
	// operator.
	SetModificationStatus(status status.Status, info string, data map[string]interface{}) error
}

type UnitProfileChanges

type UnitProfileChanges struct {
	ApplicationName string
	Revision        int
	Profile         lxdprofile.Profile
}

type UnitProfileInfo

type UnitProfileInfo struct {
	ModelName       string
	InstanceId      instance.Id
	ProfileChanges  []UnitProfileChanges
	CurrentProfiles []string
}

Directories

Path Synopsis
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