Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddresserAPI

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

AddresserAPI provides access to the Addresser API facade.

func NewAddresserAPI

func NewAddresserAPI(
	st *state.State,
	resources *common.Resources,
	authorizer common.Authorizer,
) (*AddresserAPI, error)

NewAddresserAPI creates a new server-side Addresser API facade.

func (*AddresserAPI) CanDeallocateAddresses

func (api *AddresserAPI) CanDeallocateAddresses() params.BoolResult

CanDeallocateAddresses checks if the current environment can deallocate IP addresses.

func (*AddresserAPI) CleanupIPAddresses

func (api *AddresserAPI) CleanupIPAddresses() params.ErrorResult

CleanupIPAddresses releases and removes the dead IP addresses.

func (*AddresserAPI) WatchIPAddresses

func (api *AddresserAPI) WatchIPAddresses() (params.EntityWatchResult, error)

WatchIPAddresses observes changes to the IP addresses.

type StateIPAddress

type StateIPAddress interface {
	state.Entity
	state.EnsureDeader
	state.Remover

	Value() string
	Life() state.Life
	SubnetId() string
	InstanceId() instance.Id
	Address() network.Address
	MACAddress() string
}

StateIPAddress defines the needed methods of state.IPAddress for the work of the Addresser API.

type StateInterface

type StateInterface interface {
	// EnvironConfig retrieves the environment configuration.
	EnvironConfig() (*config.Config, error)

	// DeadIPAddresses retrieves all dead IP addresses.
	DeadIPAddresses() ([]StateIPAddress, error)

	// IPAddress retrieves an IP address by its value.
	IPAddress(value string) (StateIPAddress, error)

	// WatchIPAddresses notifies about lifecycle changes
	// of IP addresses.
	WatchIPAddresses() state.StringsWatcher
}

StateInterface defines the needed methods of state.State for the work of the Addresser API.