Documentation
Overview ¶
Copyright 2019 Canonical Ltd. Licensed under the AGPLv3, see LICENCE file for details.
Package state enables reading, observing, and changing the state stored in MongoDB of a whole model managed by juju.
Index ¶
- Constants
- Variables
- func AddActionPruneSettings(pool *StatePool) error
- func AddBakeryConfig(pool *StatePool) error
- func AddCharmHubToModelConfig(pool *StatePool) error
- func AddCharmOriginToApplications(pool *StatePool) error
- func AddCloudModelCounts(pool *StatePool) error
- func AddControllerLogCollectionsSizeSettings(pool *StatePool) error
- func AddControllerNodeDocs(pool *StatePool) error
- func AddLocalCharmSequences(pool *StatePool) error
- func AddMachineIDToSubordinates(pool *StatePool) error
- func AddMigrationAttempt(pool *StatePool) error
- func AddModelEnvironVersion(pool *StatePool) error
- func AddModelLogsSize(pool *StatePool) error
- func AddModelType(pool *StatePool) error
- func AddNonDetachableStorageMachineId(pool *StatePool) error
- func AddOriginToIPAddresses(pool *StatePool) error
- func AddRelationStatus(pool *StatePool) error
- func AddSpaceIdToSpaceDocs(pool *StatePool) (err error)
- func AddStatusHistoryPruneSettings(pool *StatePool) error
- func AddStorageInstanceConstraints(pool *StatePool) error
- func AddSubnetIdToSubnetDocs(pool *StatePool) (err error)
- func AddUpdateStatusHookSettings(pool *StatePool) error
- func ApplicationInstances(st *State, application string) ([]instance.Id, error)
- func ApplicationMachines(st *State, application string) ([]string, error)
- func Apply(db Database, change Change) error
- func ChangeSubnetAZtoSlice(pool *StatePool) (err error)
- func ChangeSubnetSpaceNameToSpaceID(pool *StatePool) (err error)
- func CheckApplicationExpectsWorkload(m *Model, appName string) (bool, error)
- func ControllerAccess(st *State, tag names.Tag) (permission.UserAccess, error)
- func ConvertAddressSpaceIDs(pool *StatePool) error
- func CorrectRelationUnitCounts(pool *StatePool) error
- func CreateMissingApplicationConfig(pool *StatePool) error
- func DefaultEndpointBindingsForCharm(st EndpointBinding, charmMeta *charm.Meta) (map[string]string, error)
- func DeleteCloudImageMetadata(pool *StatePool) error
- func DropLeasesCollection(pool *StatePool) error
- func DropPresenceDatabase(pool *StatePool) error
- func EnsureApplicationDeviceConstraints(pool *StatePool) error
- func EnsureDefaultModificationStatus(pool *StatePool) error
- func EnsureDefaultSpaceSetting(pool *StatePool) error
- func EnsureRelationApplicationSettings(pool *StatePool) error
- func ExposeWildcardEndpointForExposedApplications(pool *StatePool) error
- func FilesystemMountPoint(meta charm.Storage, tag names.StorageTag, series string) (string, error)
- func HostedModelCountOp(amount int) txn.Op
- func IncrementTasksSequence(pool *StatePool) error
- func InitDatabase(session *mgo.Session, modelUUID string, settings *controller.Config) error
- func InitDbLogs(session *mgo.Session) error
- func InitDbLogsForModel(session *mgo.Session, modelUUID string, size int) error
- func IsContainsFilesystem(err error) bool
- func IsMigrationActive(st *State, modelUUID string) (bool, error)
- func IsNewActionIDSupported(ver version.Number) bool
- func LegacyLeases(pool *StatePool, localTime time.Time) (map[corelease.Key]corelease.Info, error)
- func MigrateAddModelPermissions(pool *StatePool) error
- func MigrateLeasesToGlobalTime(pool *StatePool) error
- func MigrateStorageMachineIdFields(pool *StatePool) error
- func MoveMongoSpaceToHASpaceConfig(pool *StatePool) error
- func MoveOldAuditLog(pool *StatePool) error
- func NewApplicationOffers(st *State) crossmodel.ApplicationOffers
- func NewControllerUserAccess(st *State, userDoc userAccessDoc) (permission.UserAccess, error)
- func NewDeviceBackend(st *State) (*deviceBackend, error)
- func NewExternalControllers(st *State) *externalControllers
- func NewFirewallRules(st *State) *firewallRulesState
- func NewModelUserAccess(st *State, userDoc userAccessDoc) (permission.UserAccess, error)
- func NewRelationEgressNetworks(st *State) *relationNetworksState
- func NewRelationIngressNetworks(st *State) *relationNetworksState
- func NewRelationNetworks(st *State) *rootRelationNetworksState
- func NewStorageBackend(st *State) (*storageBackend, error)
- func ParseFilesystemAttachmentId(id string) (names.Tag, names.FilesystemTag, error)
- func ParseVolumeAttachmentId(id string) (names.Tag, names.VolumeTag, error)
- func PruneOperations(st *State, maxHistoryTime time.Duration, maxHistoryMB int) error
- func PruneStatusHistory(st *State, maxHistoryTime time.Duration, maxHistoryMB int) error
- func RemoveContainerImageStreamFromNonModelSettings(pool *StatePool) error
- func RemoveControllerConfigMaxLogAgeAndSize(pool *StatePool) error
- func RemoveInstanceCharmProfileDataCollection(pool *StatePool) error
- func RemoveLinkLayerDevicesRefsCollection(pool *StatePool) error
- func RemoveModelBlock(st *State, t BlockType) error
- func RemoveModelBlockOps(st *State, t BlockType) ([]txn.Op, error)
- func RemoveNilValueApplicationSettings(pool *StatePool) error
- func RemoveUnsupportedLinkLayer(pool *StatePool) error
- func RemoveUnusedLinkLayerDeviceProviderIDs(pool *StatePool) error
- func RemoveVotingMachineIds(pool *StatePool) error
- func RenameAddModelPermission(pool *StatePool) error
- func ReplaceNeverSetWithUnset(pool *StatePool) (err error)
- func ReplacePortsDocSubnetIDCIDR(pool *StatePool) (err error)
- func ReplaceSpaceNameWithIDEndpointBindings(pool *StatePool) error
- func ReplicaSetMembers(pool *StatePool) ([]replicaset.Member, error)
- func ResetDefaultRelationLimitInCharmMetadata(pool *StatePool) (err error)
- func RollUpAndConvertOpenedPortDocuments(pool *StatePool) error
- func SetEnableDiskUUIDOnVsphere(pool *StatePool) error
- func SplitLogCollections(pool *StatePool) error
- func StripLocalUserDomain(pool *StatePool) error
- func TagFromDocID(docID string) names.Tag
- func UpdateInheritedControllerConfig(pool *StatePool) error
- func UpdateK8sModelNameIndex(pool *StatePool) error
- func UpdateKubernetesStorageConfig(pool *StatePool) error
- func UpdateLegacyLXDCloudCredentials(st *State, endpoint string, credential cloud.Credential) error
- func UpgradeContainerImageStreamDefault(pool *StatePool) error
- func UpgradeNoProxyDefaults(pool *StatePool) error
- type Action
- type ActionMessage
- type ActionReceiver
- type ActionResults
- type ActionSpecsByName
- type ActionStatus
- type ActionsWatcher
- type AddApplicationArgs
- type AddOfferConnectionParams
- type AddRemoteApplicationParams
- type AddUnitOperation
- type AddUnitParams
- type Address
- func (addr *Address) ConfigMethod() network.AddressConfigMethod
- func (addr *Address) DNSSearchDomains() []string
- func (addr *Address) DNSServers() []string
- func (addr *Address) Device() (*LinkLayerDevice, error)
- func (addr *Address) DeviceName() string
- func (addr *Address) DocID() string
- func (addr *Address) GatewayAddress() string
- func (addr *Address) IsDefaultGateway() bool
- func (addr *Address) IsShadow() bool
- func (addr *Address) LoopbackConfigMethod() bool
- func (addr *Address) Machine() (*Machine, error)
- func (addr *Address) MachineID() string
- func (addr *Address) NetworkAddress() network.SpaceAddress
- func (addr *Address) Origin() network.Origin
- func (addr *Address) ProviderID() network.Id
- func (addr *Address) ProviderNetworkID() network.Id
- func (addr *Address) ProviderSubnetID() network.Id
- func (addr *Address) Remove() error
- func (addr *Address) RemoveOps() []txn.Op
- func (addr *Address) SetOriginOps(origin network.Origin) []txn.Op
- func (addr *Address) SetProviderIDOps(id network.Id) ([]txn.Op, error)
- func (addr *Address) SetProviderNetIDsOps(networkID, subnetID network.Id) []txn.Op
- func (addr *Address) String() string
- func (addr *Address) Subnet() (*Subnet, error)
- func (addr *Address) SubnetCIDR() string
- func (addr *Address) UpdateOps(args LinkLayerDeviceAddress) ([]txn.Op, error)
- func (addr *Address) Value() string
- type AgentEntity
- type AgentLiving
- type AgentTooler
- type AllWatcherBacking
- type Application
- func (a *Application) AddOperation(props UnitUpdateProperties) *AddUnitOperation
- func (a *Application) AddUnit(args AddUnitParams) (unit *Unit, err error)
- func (a *Application) AgentTools() (*tools.Tools, error)
- func (a *Application) AllUnits() (units []*Unit, err error)
- func (a *Application) ApplicationConfig() (application.ConfigAttributes, error)
- func (a *Application) ApplicationTag() names.ApplicationTag
- func (a *Application) ChangeScale(scaleChange int) (int, error)
- func (a *Application) Channel() csparams.Channel
- func (a *Application) Charm() (ch *Charm, force bool, err error)
- func (a *Application) CharmConfig(branchName string) (charm.Settings, error)
- func (a *Application) CharmModifiedVersion() int
- func (a *Application) CharmOrigin() *CharmOrigin
- func (a *Application) CharmURL() (curl *charm.URL, force bool)
- func (a *Application) ClearExposed() error
- func (a *Application) ClearResources() error
- func (a *Application) Constraints() (constraints.Value, error)
- func (a *Application) DeployedMachines() ([]*Machine, error)
- func (a *Application) Destroy() (err error)
- func (a *Application) DestroyOperation() *DestroyApplicationOperation
- func (a *Application) DeviceConstraints() (map[string]DeviceConstraints, error)
- func (a *Application) Endpoint(relationName string) (Endpoint, error)
- func (a *Application) EndpointBindings() (*Bindings, error)
- func (a *Application) Endpoints() (eps []Endpoint, err error)
- func (a *Application) EnsureMinUnits() (err error)
- func (a *Application) ExposedEndpoints() map[string]ExposedEndpoint
- func (a *Application) GetPlacement() string
- func (a *Application) GetScale() int
- func (a *Application) IsExposed() bool
- func (a *Application) IsPrincipal() bool
- func (a *Application) IsRemote() bool
- func (a *Application) LeaderSettings() (map[string]string, error)
- func (a *Application) Life() Life
- func (a *Application) MergeBindings(operatorBindings *Bindings, force bool) error
- func (a *Application) MergeExposeSettings(exposedEndpoints map[string]ExposedEndpoint) error
- func (a *Application) MetricCredentials() []byte
- func (a *Application) MinUnits() int
- func (a *Application) Name() string
- func (a *Application) PasswordValid(password string) bool
- func (a *Application) Refresh() error
- func (a *Application) RelationCount() int
- func (a *Application) Relations() (relations []*Relation, err error)
- func (a *Application) Series() string
- func (a *Application) ServiceInfo() (CloudServicer, error)
- func (a *Application) SetAgentVersion(v version.Binary) (err error)
- func (a *Application) SetCharm(cfg SetCharmConfig) (err error)
- func (a *Application) SetConstraints(cons constraints.Value) (err error)
- func (a *Application) SetMetricCredentials(b []byte) error
- func (a *Application) SetMinUnits(minUnits int) (err error)
- func (a *Application) SetOperatorStatus(sInfo status.StatusInfo) error
- func (a *Application) SetPassword(password string) error
- func (a *Application) SetScale(scale int, generation int64, force bool) error
- func (a *Application) SetStatus(statusInfo status.StatusInfo) error
- func (a *Application) Status() (status.StatusInfo, error)
- func (a *Application) StatusHistory(filter status.StatusHistoryFilter) ([]status.StatusInfo, error)
- func (a *Application) StorageConstraints() (map[string]StorageConstraints, error)
- func (a *Application) String() string
- func (a *Application) Tag() names.Tag
- func (a *Application) UnitCount() int
- func (a *Application) UnitNames() ([]string, error)
- func (a *Application) UnitStatuses() (map[string]status.StatusInfo, error)
- func (a *Application) UnsetExposeSettings(exposedEndpoints []string) error
- func (a *Application) UpdateApplicationConfig(changes application.ConfigAttributes, reset []string, ...) error
- func (a *Application) UpdateApplicationSeries(series string, force bool) (err error)
- func (a *Application) UpdateCharmConfig(branchName string, changes charm.Settings) error
- func (a *Application) UpdateCloudService(providerId string, addresses []network.SpaceAddress) error
- func (a *Application) UpdateLeaderSettings(token leadership.Token, updates map[string]string) error
- func (a *Application) UpdateUnits(unitsOp *UpdateUnitsOperation) error
- func (a *Application) VerifySupportedSeries(series string, force bool) error
- func (a *Application) Watch() NotifyWatcher
- func (a *Application) WatchCharmConfig() (NotifyWatcher, error)
- func (a *Application) WatchLeaderSettings() NotifyWatcher
- func (a *Application) WatchRelations() StringsWatcher
- func (a *Application) WatchScale() NotifyWatcher
- func (a *Application) WatchServiceAddressesHash() StringsWatcher
- func (a *Application) WatchUnits() StringsWatcher
- type ApplicationDescription
- type ApplicationEntity
- type ApplicationOfferDescription
- type ApplicationOfferInput
- type ApplicationOfferStateDocumentFactory
- type AssignmentPolicy
- type Authenticator
- type BatchParam
- type Bindings
- func (b Bindings) GetBSON() (interface{}, error)
- func (b *Bindings) Map() map[string]string
- func (b *Bindings) MapWithSpaceNames(lookup network.SpaceInfos) (map[string]string, error)
- func (b *Bindings) Merge(mergeWith map[string]string, meta *charm.Meta) (bool, error)
- func (b *Bindings) SetBSON(raw bson.Raw) error
- type Block
- type BlockDevice
- type BlockDeviceInfo
- type BlockType
- type CAASModel
- func (m *CAASModel) Containers(providerIds ...string) ([]CloudContainer, error)
- func (m *CAASModel) PodSpec(appTag names.ApplicationTag) (string, error)
- func (m *CAASModel) RawK8sSpec(appTag names.ApplicationTag) (string, error)
- func (m *CAASModel) SetPodSpec(token leadership.Token, appTag names.ApplicationTag, spec *string) error
- func (m *CAASModel) SetPodSpecOperation(token leadership.Token, appTag names.ApplicationTag, spec *string) ModelOperation
- func (m *CAASModel) SetRawK8sSpecOperation(token leadership.Token, appTag names.ApplicationTag, spec *string) ModelOperation
- func (m *CAASModel) WatchPodSpec(appTag names.ApplicationTag) (NotifyWatcher, error)
- type Change
- type Channel
- type Charm
- func (c *Charm) Actions() *charm.Actions
- func (c *Charm) BundleSha256() string
- func (c *Charm) Config() *charm.Config
- func (c *Charm) Destroy() error
- func (c *Charm) IsPlaceholder() bool
- func (c *Charm) IsUploaded() bool
- func (c *Charm) LXDProfile() *LXDProfile
- func (c *Charm) Life() Life
- func (c *Charm) Macaroon() (macaroon.Slice, error)
- func (c *Charm) Meta() *charm.Meta
- func (c *Charm) Metrics() *charm.Metrics
- func (c *Charm) Refresh() error
- func (c *Charm) Remove() error
- func (c *Charm) Revision() int
- func (c *Charm) StoragePath() string
- func (c *Charm) String() string
- func (c *Charm) Tag() names.Tag
- func (c *Charm) URL() *charm.URL
- func (c *Charm) UpdateMacaroon(m macaroon.Slice) error
- func (c *Charm) Version() string
- type CharmInfo
- type CharmOrigin
- type CloudAccessor
- type CloudContainer
- type CloudInfo
- type CloudService
- func (c *CloudService) Addresses() network.SpaceAddresses
- func (c *CloudService) CloudService() (*CloudService, error)
- func (c *CloudService) DesiredScaleProtected() bool
- func (c *CloudService) Generation() int64
- func (c *CloudService) Id() string
- func (c *CloudService) ProviderId() string
- func (c *CloudService) Refresh() error
- func (c *CloudService) Watch() NotifyWatcher
- type CloudServicer
- type CollectionInfo
- type CollectionSchema
- type Constraints
- type Controller
- func (ctlr *Controller) Close() error
- func (ctlr *Controller) GetState(modelTag names.ModelTag) (*PooledState, error)
- func (ctrl *Controller) Import(model description.Model) (_ *Model, _ *State, err error)
- func (ctlr *Controller) NewModel(args ModelArgs) (_ *Model, _ *State, err error)
- func (ctlr *Controller) Ping() error
- func (ctlr *Controller) StatePool() *StatePool
- func (ctlr *Controller) SystemState() *State
- type ControllerAccessor
- type ControllerInfo
- type ControllerNode
- type ControllerSessioner
- type ControllersChanges
- type Credential
- type CredentialOwnerModelAccess
- type Database
- type DbLogger
- type DebugLogger
- type DestroyApplicationOperation
- type DestroyModelParams
- type DestroyRelationOperation
- type DestroyRemoteApplicationOperation
- type DestroyUnitOperation
- type DeviceConstraints
- type DeviceType
- type DocModelNamespace
- type DockerMetadataStorage
- type Endpoint
- type EndpointBinding
- type EnsureDeader
- type Entity
- type EntityFinder
- type EntityWithApplication
- type ExportConfig
- type ExportStateMigration
- type ExposedEndpoint
- type ExternalController
- type ExternalControllerStateDocumentFactory
- type ExternalControllers
- type ExternalControllersDescription
- type ExternalControllersInput
- type Filesystem
- type FilesystemAttachment
- type FilesystemAttachmentInfo
- type FilesystemAttachmentParams
- type FilesystemInfo
- type FilesystemParams
- type FirewallRule
- type FirewallRuler
- type FirewallRulesDescription
- type FirewallRulesInput
- type ForcedOperation
- type Generation
- func (g *Generation) Abort(userName string) error
- func (g *Generation) AssignAllUnits(appName string) error
- func (g *Generation) AssignApplication(appName string) error
- func (g *Generation) AssignUnit(unitName string) error
- func (g *Generation) AssignUnits(appName string, numUnits int) error
- func (g *Generation) AssignedUnits() map[string][]string
- func (g *Generation) BranchName() string
- func (g *Generation) CheckNotComplete() error
- func (g *Generation) Commit(userName string) (int, error)
- func (g *Generation) Completed() int64
- func (g *Generation) CompletedBy() string
- func (g *Generation) Config() map[string]settings.ItemChanges
- func (g *Generation) Created() int64
- func (g *Generation) CreatedBy() string
- func (g *Generation) GenerationId() int
- func (g *Generation) HasChangesFor(appName string) bool
- func (g *Generation) IsCompleted() bool
- func (g *Generation) IsTracking(unitName string) bool
- func (g *Generation) ModelUUID() string
- func (g *Generation) Refresh() error
- func (g *Generation) UpdateCharmConfig(appName string, master *Settings, validChanges charm.Settings) error
- type GlobalEntity
- type HistoryGetter
- type HostFilesystemParams
- type HostVolumeParams
- type ImportApplicationOffer
- type ImportExternalControllers
- type ImportFirewallRules
- type ImportRelationNetworks
- type ImportRemoteApplications
- type ImportRemoteEntities
- type ImportStateMigration
- type InitDatabaseFunc
- type InitializeParams
- type InstanceIdGetter
- type LXDProfile
- type LastSentLogTracker
- type LeaveScopeOperation
- type Life
- type Lifer
- type LinkLayerDevice
- func (dev *LinkLayerDevice) AddAddressOps(args LinkLayerDeviceAddress) ([]txn.Op, error)
- func (dev *LinkLayerDevice) Addresses() ([]*Address, error)
- func (dev *LinkLayerDevice) DocID() string
- func (dev *LinkLayerDevice) EthernetDeviceForBridge(name string, askProviderForAddress bool) (network.InterfaceInfo, error)
- func (dev *LinkLayerDevice) ID() string
- func (dev *LinkLayerDevice) IsAutoStart() bool
- func (dev *LinkLayerDevice) IsLoopbackDevice() bool
- func (dev *LinkLayerDevice) IsUp() bool
- func (dev *LinkLayerDevice) MACAddress() string
- func (dev *LinkLayerDevice) MTU() uint
- func (dev *LinkLayerDevice) Machine() (*Machine, error)
- func (dev *LinkLayerDevice) MachineID() string
- func (dev *LinkLayerDevice) Name() string
- func (dev *LinkLayerDevice) ParentDevice() (*LinkLayerDevice, error)
- func (dev *LinkLayerDevice) ParentID() string
- func (dev *LinkLayerDevice) ParentName() string
- func (dev *LinkLayerDevice) ProviderID() network.Id
- func (dev *LinkLayerDevice) Remove() (err error)
- func (dev *LinkLayerDevice) RemoveAddresses() error
- func (dev *LinkLayerDevice) RemoveOps() []txn.Op
- func (dev *LinkLayerDevice) SetProviderIDOps(id network.Id) ([]txn.Op, error)
- func (dev *LinkLayerDevice) String() string
- func (dev *LinkLayerDevice) Type() network.LinkLayerDeviceType
- func (dev *LinkLayerDevice) UpdateOps(args LinkLayerDeviceArgs) []txn.Op
- func (dev *LinkLayerDevice) VirtualPortType() network.VirtualPortType
- type LinkLayerDeviceAddress
- type LinkLayerDeviceArgs
- type Living
- type LogRecord
- type LogTailer
- type LogTailerParams
- type LogTailerState
- type MacaroonCache
- type Machine
- func (m *Machine) Actions() ([]Action, error)
- func (m *Machine) AddAction(operationID, name string, payload map[string]interface{}) (Action, error)
- func (m *Machine) AddLinkLayerDeviceOps(devArgs LinkLayerDeviceArgs, addrArgs ...LinkLayerDeviceAddress) ([]txn.Op, error)
- func (m *Machine) Addresses() (addresses network.SpaceAddresses)
- func (m *Machine) AddressesBySpaceID() (map[string][]network.SpaceAddress, error)
- func (m *Machine) AgentStartTime() time.Time
- func (m *Machine) AgentTools() (*tools.Tools, error)
- func (m *Machine) AllAddresses() ([]*Address, error)
- func (m *Machine) AllLinkLayerDevices() ([]*LinkLayerDevice, error)
- func (m *Machine) AllNetworkAddresses() (corenetwork.SpaceAddresses, error)
- func (m *Machine) AllProviderInterfaceInfos() ([]corenetwork.ProviderInterfaceInfo, error)
- func (m *Machine) AllSpaces() (set.Strings, error)
- func (m *Machine) ApplicationNames() ([]string, error)
- func (m *Machine) AssertAliveOp() txn.Op
- func (m *Machine) AvailabilityZone() (string, error)
- func (m *Machine) CancelAction(action Action) (Action, error)
- func (m *Machine) CharmProfiles() ([]string, error)
- func (m *Machine) CheckProvisioned(nonce string) bool
- func (m *Machine) Clean() bool
- func (m *Machine) CompleteUpgradeSeries() error
- func (m *Machine) CompletedActions() ([]Action, error)
- func (m *Machine) Constraints() (constraints.Value, error)
- func (m *Machine) ContainerType() instance.ContainerType
- func (m *Machine) Containers() ([]string, error)
- func (m *Machine) CreateUpgradeSeriesLock(unitNames []string, toSeries string) error
- func (m *Machine) Destroy() error
- func (m *Machine) DestroyWithContainers() error
- func (m *Machine) EnsureDead() error
- func (m *Machine) ForceDestroy(maxWait time.Duration) error
- func (m *Machine) ForceDestroyed() bool
- func (m *Machine) GetRebootFlag() (bool, error)
- func (m *Machine) GetUpgradeSeriesMessages() ([]string, bool, error)
- func (m *Machine) HardwareCharacteristics() (*instance.HardwareCharacteristics, error)
- func (m *Machine) Id() string
- func (m *Machine) InstanceId() (instance.Id, error)
- func (m *Machine) InstanceNames() (instance.Id, string, error)
- func (m *Machine) InstanceStatus() (status.StatusInfo, error)
- func (m *Machine) InstanceStatusHistory(filter status.StatusHistoryFilter) ([]status.StatusInfo, error)
- func (m *Machine) IsContainer() bool
- func (m *Machine) IsLockedForSeriesUpgrade() (bool, error)
- func (m *Machine) IsManager() bool
- func (m *Machine) IsManual() (bool, error)
- func (m *Machine) IsParentLockedForSeriesUpgrade() (bool, error)
- func (m *Machine) Jobs() []MachineJob
- func (m *Machine) KeepInstance() (bool, error)
- func (m *Machine) Life() Life
- func (m *Machine) LinkLayerDevice(name string) (*LinkLayerDevice, error)
- func (m *Machine) MachineAddresses() (addresses network.SpaceAddresses)
- func (m *Machine) MachineTag() names.MachineTag
- func (m *Machine) MarkForRemoval() (err error)
- func (m *Machine) ModelName() string
- func (m *Machine) ModificationStatus() (status.StatusInfo, error)
- func (m *Machine) OpenedPortRanges() (MachinePortRanges, error)
- func (m *Machine) ParentId() (string, bool)
- func (m *Machine) PasswordValid(password string) bool
- func (m *Machine) PendingActions() ([]Action, error)
- func (m *Machine) Placement() string
- func (m *Machine) Principals() []string
- func (m *Machine) PrivateAddress() (network.SpaceAddress, error)
- func (m *Machine) ProviderAddresses() (addresses network.SpaceAddresses)
- func (m *Machine) PublicAddress() (network.SpaceAddress, error)
- func (m *Machine) RecordAgentStartTime() error
- func (m *Machine) Refresh() error
- func (m *Machine) Remove() (err error)
- func (m *Machine) RemoveAllAddresses() error
- func (m *Machine) RemoveAllLinkLayerDevices() error
- func (m *Machine) RemoveUpgradeSeriesLock() error
- func (m *Machine) RunningActions() ([]Action, error)
- func (m *Machine) Series() string
- func (m *Machine) SetAgentVersion(v version.Binary) (err error)
- func (m *Machine) SetCharmProfiles(profiles []string) error
- func (m *Machine) SetConstraints(cons constraints.Value) (err error)
- func (m *Machine) SetDevicesAddresses(devicesAddresses ...LinkLayerDeviceAddress) (err error)
- func (m *Machine) SetInstanceInfo(id instance.Id, displayName string, nonce string, ...) error
- func (m *Machine) SetInstanceStatus(sInfo status.StatusInfo) (err error)
- func (m *Machine) SetKeepInstance(keepInstance bool) error
- func (m *Machine) SetLinkLayerDevices(devicesArgs ...LinkLayerDeviceArgs) (err error)
- func (m *Machine) SetMachineAddresses(addresses ...network.SpaceAddress) error
- func (m *Machine) SetMachineBlockDevices(info ...BlockDeviceInfo) error
- func (m *Machine) SetModificationStatus(sInfo status.StatusInfo) (err error)
- func (m *Machine) SetMongoPassword(password string) error
- func (m *Machine) SetPassword(password string) error
- func (m *Machine) SetProviderAddresses(addresses ...network.SpaceAddress) error
- func (m *Machine) SetProvisioned(id instance.Id, displayName string, nonce string, ...) (err error)
- func (m *Machine) SetRebootFlag(flag bool) error
- func (m *Machine) SetStatus(statusInfo status.StatusInfo) error
- func (m *Machine) SetStopMongoUntilVersion(v mongo.Version) error
- func (m *Machine) SetSupportedContainers(containers []instance.ContainerType) (err error)
- func (m *Machine) SetUpgradeSeriesMessagesAsSeen(messages []UpgradeSeriesMessage) error
- func (m *Machine) SetUpgradeSeriesStatus(status model.UpgradeSeriesStatus, message string) error
- func (m *Machine) SetUpgradeSeriesUnitStatus(unitName string, status model.UpgradeSeriesStatus, message string) error
- func (m *Machine) ShouldRebootOrShutdown() (RebootAction, error)
- func (m *Machine) StartUpgradeSeriesUnitCompletion(message string) error
- func (m *Machine) Status() (status.StatusInfo, error)
- func (m *Machine) StatusHistory(filter status.StatusHistoryFilter) ([]status.StatusInfo, error)
- func (m *Machine) StopMongoUntilVersion() (mongo.Version, error)
- func (m *Machine) String() string
- func (m *Machine) SupportedContainers() ([]instance.ContainerType, bool)
- func (m *Machine) SupportsNoContainers() (err error)
- func (m *Machine) Tag() names.Tag
- func (m *Machine) Units() (units []*Unit, err error)
- func (m *Machine) UpdateMachineSeries(series string, force bool) error
- func (m *Machine) UpdateOperation() *UpdateMachineOperation
- func (m *Machine) UpgradeSeriesStatus() (model.UpgradeSeriesStatus, error)
- func (m *Machine) UpgradeSeriesTarget() (string, error)
- func (m *Machine) UpgradeSeriesUnitStatus(unitName string) (model.UpgradeSeriesStatus, error)
- func (m *Machine) UpgradeSeriesUnitStatuses() (map[string]UpgradeSeriesUnitStatus, error)
- func (m *Machine) VerifyUnitsSeries(unitNames []string, series string, force bool) ([]*Unit, error)
- func (m *Machine) VolumeAttachments() ([]VolumeAttachment, error)
- func (m *Machine) Watch() NotifyWatcher
- func (m *Machine) WatchActionNotifications() StringsWatcher
- func (m *Machine) WatchAddresses() NotifyWatcher
- func (m *Machine) WatchAllContainers() StringsWatcher
- func (m *Machine) WatchContainers(ctype instance.ContainerType) StringsWatcher
- func (m *Machine) WatchForRebootEvent() NotifyWatcher
- func (m *Machine) WatchInstanceData() NotifyWatcher
- func (m *Machine) WatchLXDProfileUpgradeNotifications(applicationName string) (StringsWatcher, error)
- func (m *Machine) WatchPendingActionNotifications() StringsWatcher
- func (m *Machine) WatchPrincipalUnits() StringsWatcher
- func (m *Machine) WatchUnits() StringsWatcher
- func (m *Machine) WatchUpgradeSeriesNotifications() (NotifyWatcher, error)
- type MachineJob
- type MachineModelInfo
- type MachinePortRanges
- type MachineTemplate
- type MeterStatus
- type MeterStatusCode
- type Metric
- type MetricBatch
- func (m *MetricBatch) CharmURL() string
- func (m *MetricBatch) Created() time.Time
- func (m *MetricBatch) Credentials() []byte
- func (m *MetricBatch) MarshalJSON() ([]byte, error)
- func (m *MetricBatch) Metrics() []Metric
- func (m *MetricBatch) ModelUUID() string
- func (m *MetricBatch) SLACredentials() []byte
- func (m *MetricBatch) Sent() bool
- func (m *MetricBatch) SetSent(t time.Time) error
- func (m *MetricBatch) UUID() string
- func (m *MetricBatch) UniqueMetrics() []Metric
- func (m *MetricBatch) Unit() string
- type MetricsManager
- func (m *MetricsManager) ConsecutiveErrors() int
- func (m *MetricsManager) GracePeriod() time.Duration
- func (m *MetricsManager) IncrementConsecutiveErrors() error
- func (m *MetricsManager) LastSuccessfulSend() time.Time
- func (m *MetricsManager) MeterStatus() MeterStatus
- func (m *MetricsManager) ModelStatus() MeterStatus
- func (m *MetricsManager) SetGracePeriod(t time.Duration) error
- func (m *MetricsManager) SetLastSuccessfulSend(t time.Time) error
- type MigrationMode
- type MigrationSpec
- type MinionReports
- type Model
- func (m *Model) Action(id string) (Action, error)
- func (m *Model) ActionByTag(tag names.ActionTag) (Action, error)
- func (m *Model) AddBranch(branchName, userName string) error
- func (m *Model) AddUser(spec UserAccessSpec) (permission.UserAccess, error)
- func (m *Model) AgentVersion() (version.Number, error)
- func (m *Model) AllActions() ([]Action, error)
- func (m *Model) AllConstraints() (*ModelConstraints, error)
- func (m *Model) AllEndpointBindings() (map[string]*Bindings, error)
- func (m *Model) AllInstanceData() (*ModelInstanceData, error)
- func (m *Model) AllOperations() ([]Operation, error)
- func (m *Model) AllUnits() ([]*Unit, error)
- func (m *Model) Annotation(entity GlobalEntity, key string) (string, error)
- func (m *Model) Annotations(entity GlobalEntity) (map[string]string, error)
- func (m *Model) AutoConfigureContainerNetworking(environ environs.BootstrapEnviron) error
- func (m *Model) Branch(name string) (*Generation, error)
- func (m *Model) Branches() ([]*Generation, error)
- func (m *Model) CAASModel() (*CAASModel, error)
- func (m *Model) Cloud() (jujucloud.Cloud, error)
- func (m *Model) CloudCredential() (Credential, bool, error)
- func (m *Model) CloudCredentialTag() (names.CloudCredentialTag, bool)
- func (m *Model) CloudName() string
- func (m *Model) CloudRegion() string
- func (m *Model) Config() (*config.Config, error)
- func (m *Model) ControllerTag() names.ControllerTag
- func (m *Model) ControllerUUID() string
- func (m *Model) Destroy(args DestroyModelParams) (err error)
- func (m *Model) EnqueueAction(operationID string, receiver names.Tag, actionName string, ...) (Action, error)
- func (m *Model) EnqueueOperation(summary string) (string, error)
- func (m *Model) EnvironVersion() int
- func (m *Model) FindActionTagsById(idValue string) ([]names.ActionTag, error)
- func (m *Model) FindActionsByName(name string) ([]Action, error)
- func (m *Model) ForceDestroyed() bool
- func (m *Model) Generation(id int) (*Generation, error)
- func (m *Model) Generations() ([]*Generation, error)
- func (m *Model) IsControllerModel() bool
- func (m *Model) LastModelConnection(user names.UserTag) (time.Time, error)
- func (m *Model) LatestToolsVersion() version.Number
- func (m *Model) Life() Life
- func (m *Model) ListOperations(actionNames []string, actionReceivers []names.Tag, ...) ([]OperationInfo, bool, error)
- func (m *Model) LoadModelStatus() (*ModelStatus, error)
- func (m *Model) MeterStatus() MeterStatus
- func (m *Model) MigrationMode() MigrationMode
- func (m *Model) ModelConfig() (*config.Config, error)
- func (model *Model) ModelConfigValues() (config.ConfigValues, error)
- func (m *Model) ModelTag() names.ModelTag
- func (m *Model) Name() string
- func (m *Model) OpenedPortRangesForAllMachines() ([]MachinePortRanges, error)
- func (m *Model) OpenedPortRangesForMachine(machineID string) (MachinePortRanges, error)
- func (m *Model) Operation(id string) (Operation, error)
- func (m *Model) OperationWithActions(id string) (*OperationInfo, error)
- func (m *Model) Owner() names.UserTag
- func (m *Model) PasswordHash() string
- func (m *Model) PasswordValid(password string) bool
- func (m *Model) Refresh() error
- func (m *Model) SLACredential() []byte
- func (m *Model) SLALevel() string
- func (m *Model) SLAOwner() string
- func (m *Model) SetAnnotations(entity GlobalEntity, annotations map[string]string) (err error)
- func (m *Model) SetCloudCredential(tag names.CloudCredentialTag) (bool, error)
- func (m *Model) SetEnvironVersion(v int) error
- func (m *Model) SetMeterStatus(status, info string) error
- func (m *Model) SetMigrationMode(mode MigrationMode) error
- func (m *Model) SetPassword(password string) error
- func (m *Model) SetSLA(level, owner string, credentials []byte) error
- func (m *Model) SetStatus(sInfo status.StatusInfo) error
- func (model *Model) State() *State
- func (m *Model) Status() (status.StatusInfo, error)
- func (m *Model) StatusHistory(filter status.StatusHistoryFilter) ([]status.StatusInfo, error)
- func (m *Model) String() string
- func (m *Model) Tag() names.Tag
- func (m *Model) Type() ModelType
- func (m *Model) UUID() string
- func (m *Model) UpdateLastModelConnection(user names.UserTag) error
- func (m *Model) UpdateLatestToolsVersion(ver version.Number) error
- func (m *Model) UpdateModelConfig(updateAttrs map[string]interface{}, removeAttrs []string, ...) error
- func (m *Model) Users() ([]permission.UserAccess, error)
- func (m *Model) ValidateCloudCredential(tag names.CloudCredentialTag, credential cloud.Credential) error
- func (m *Model) Watch() NotifyWatcher
- func (m *Model) WatchActionResults() StringsWatcher
- func (m *Model) WatchActionResultsFilteredBy(receivers ...ActionReceiver) StringsWatcher
- func (model *Model) WatchCloudSpecChanges() NotifyWatcher
- func (model *Model) WatchForModelConfigChanges() NotifyWatcher
- func (m *Model) WatchModelCredential() NotifyWatcher
- type ModelAccessInfo
- type ModelAccessor
- type ModelArgs
- type ModelBatchParam
- type ModelConstraints
- type ModelInstanceData
- type ModelMachinesWatcher
- type ModelMigration
- type ModelOperation
- type ModelPayloads
- type ModelSessioner
- type ModelStatus
- func (m *ModelStatus) FullUnitWorkloadVersion(unitName string) (status.StatusInfo, error)
- func (m *ModelStatus) MachineAgent(machineID string) (status.StatusInfo, error)
- func (m *ModelStatus) MachineInstance(machineID string) (status.StatusInfo, error)
- func (m *ModelStatus) MachineModification(machineID string) (status.StatusInfo, error)
- func (m *ModelStatus) Model() (status.StatusInfo, error)
- func (m *ModelStatus) UnitAgent(unitName string) (status.StatusInfo, error)
- func (m *ModelStatus) UnitWorkload(unitName string, expectWorkload bool) (status.StatusInfo, error)
- func (m *ModelStatus) UnitWorkloadVersion(unitName string) (string, error)
- type ModelSummary
- type ModelType
- type MongoSessioner
- type NewPolicyFunc
- type NotifyWatcher
- type NotifyWatcherFactory
- type OfferConnection
- type OpenParams
- type Operation
- type OperationInfo
- type Persistence
- type Policy
- type PoolHelper
- type PoolItem
- type PooledState
- type QueryDetails
- type QueryTracker
- type RebootAction
- type RebootActionGetter
- type RebootFlagSetter
- type Relation
- func (r *Relation) AllRemoteUnits(appName string) ([]*RelationUnit, error)
- func (r *Relation) ApplicationSettings(appName string) (map[string]interface{}, error)
- func (r *Relation) Destroy() error
- func (r *Relation) DestroyOperation(force bool) *DestroyRelationOperation
- func (r *Relation) DestroyWithForce(force bool, maxWait time.Duration) ([]error, error)
- func (r *Relation) Endpoint(applicationname string) (Endpoint, error)
- func (r *Relation) Endpoints() []Endpoint
- func (r *Relation) Id() int
- func (r *Relation) Life() Life
- func (r *Relation) Refresh() error
- func (r *Relation) RelatedEndpoints(applicationname string) ([]Endpoint, error)
- func (r *Relation) RemoteApplication() (*RemoteApplication, bool, error)
- func (r *Relation) RemoteUnit(unitName string) (*RelationUnit, error)
- func (r *Relation) SetStatus(statusInfo status.StatusInfo) error
- func (r *Relation) SetSuspended(suspended bool, suspendedReason string) error
- func (r *Relation) Status() (status.StatusInfo, error)
- func (r *Relation) String() string
- func (r *Relation) Suspended() bool
- func (r *Relation) SuspendedReason() string
- func (r *Relation) Tag() names.Tag
- func (r *Relation) Unit(u *Unit) (*RelationUnit, error)
- func (r *Relation) UnitCount() int
- func (r *Relation) UpdateApplicationSettings(appName string, token leadership.Token, updates map[string]interface{}) error
- func (r *Relation) UpdateApplicationSettingsOperation(appName string, token leadership.Token, updates map[string]interface{}) (ModelOperation, error)
- func (r *Relation) WatchApplicationSettings(app *Application) (NotifyWatcher, error)
- func (r *Relation) WatchLifeSuspendedStatus() StringsWatcher
- func (r *Relation) WatchRelationEgressNetworks() StringsWatcher
- func (r *Relation) WatchRelationIngressNetworks() StringsWatcher
- func (r *Relation) WatchUnits(appName string) (RelationUnitsWatcher, error)
- type RelationNetworkDirection
- type RelationNetworker
- type RelationNetworks
- type RelationNetworksDescription
- type RelationNetworksInput
- type RelationScopeChange
- type RelationScopeWatcher
- type RelationUnit
- func (ru *RelationUnit) CounterpartApplications() []string
- func (ru *RelationUnit) Endpoint() Endpoint
- func (ru *RelationUnit) EnterScope(settings map[string]interface{}) error
- func (ru *RelationUnit) InScope() (bool, error)
- func (ru *RelationUnit) Joined() (bool, error)
- func (ru *RelationUnit) LeaveScope() error
- func (ru *RelationUnit) LeaveScopeOperation(force bool) *LeaveScopeOperation
- func (ru *RelationUnit) LeaveScopeWithForce(force bool, maxWait time.Duration) ([]error, error)
- func (ru *RelationUnit) PrepareLeaveScope() error
- func (ru *RelationUnit) ReadSettings(uname string) (m map[string]interface{}, err error)
- func (ru *RelationUnit) Relation() *Relation
- func (ru *RelationUnit) Settings() (*Settings, error)
- func (ru *RelationUnit) UnitName() string
- func (ru *RelationUnit) Valid() (bool, error)
- func (ru *RelationUnit) Watch() RelationUnitsWatcher
- func (ru *RelationUnit) WatchScope() *RelationScopeWatcher
- type RelationUnitsWatcher
- type RemoteApplication
- func (s *RemoteApplication) AddEndpoints(eps []charm.Relation) error
- func (s *RemoteApplication) Bindings() map[string]string
- func (s *RemoteApplication) Destroy() error
- func (s *RemoteApplication) DestroyOperation(force bool) *DestroyRemoteApplicationOperation
- func (s *RemoteApplication) DestroyWithForce(force bool, maxWait time.Duration) (opErrs []error, err error)
- func (s *RemoteApplication) Endpoint(relationName string) (Endpoint, error)
- func (s *RemoteApplication) Endpoints() ([]Endpoint, error)
- func (s *RemoteApplication) IsConsumerProxy() bool
- func (s *RemoteApplication) IsRemote() bool
- func (s *RemoteApplication) Life() Life
- func (s *RemoteApplication) Macaroon() (*macaroon.Macaroon, error)
- func (s *RemoteApplication) Name() string
- func (s *RemoteApplication) OfferUUID() string
- func (s *RemoteApplication) Refresh() error
- func (s *RemoteApplication) Relations() (relations []*Relation, err error)
- func (s *RemoteApplication) SetStatus(info status.StatusInfo) error
- func (s *RemoteApplication) SourceModel() names.ModelTag
- func (s *RemoteApplication) SpaceForEndpoint(endpointName string) (RemoteSpace, bool)
- func (s *RemoteApplication) Spaces() []RemoteSpace
- func (s *RemoteApplication) Status() (status.StatusInfo, error)
- func (s *RemoteApplication) String() string
- func (s *RemoteApplication) Tag() names.Tag
- func (s *RemoteApplication) TerminateOperation(message string) ModelOperation
- func (s *RemoteApplication) Token() (string, error)
- func (s *RemoteApplication) URL() (string, bool)
- func (s *RemoteApplication) WatchRelations() StringsWatcher
- type RemoteApplicationsDescription
- type RemoteApplicationsInput
- type RemoteConnectionStatus
- type RemoteEntities
- func (r *RemoteEntities) ExportLocalEntity(entity names.Tag) (string, error)
- func (r *RemoteEntities) GetMacaroon(entity names.Tag) (*macaroon.Macaroon, error)
- func (r *RemoteEntities) GetRemoteEntity(token string) (names.Tag, error)
- func (r *RemoteEntities) GetToken(entity names.Tag) (string, error)
- func (r *RemoteEntities) ImportRemoteEntity(entity names.Tag, token string) error
- func (r *RemoteEntities) RemoveRemoteEntity(entity names.Tag) error
- func (r *RemoteEntities) SaveMacaroon(entity names.Tag, mac *macaroon.Macaroon) error
- type RemoteEntitiesDescription
- type RemoteEntitiesInput
- type RemoteEntity
- type RemoteSpace
- type RemoteSubnet
- type RemoveOfferOperation
- type RemoveUnitOperation
- type Remover
- type ResolvedMode
- type ResourcePersistence
- func (p ResourcePersistence) GetResource(id string) (res resource.Resource, storagePath string, _ error)
- func (p ResourcePersistence) ListPendingResources(applicationID string) ([]resource.Resource, error)
- func (p ResourcePersistence) ListResources(applicationID string) (resource.ApplicationResources, error)
- func (p ResourcePersistence) NewRemovePendingAppResourcesOps(applicationID string, pendingIDs map[string]string) ([]txn.Op, error)
- func (p ResourcePersistence) NewRemoveResourcesOps(applicationID string) ([]txn.Op, error)
- func (p ResourcePersistence) NewRemoveUnitResourcesOps(unitID string) ([]txn.Op, error)
- func (p ResourcePersistence) NewResolvePendingResourceOps(resID, pendingID string) ([]txn.Op, error)
- func (p ResourcePersistence) RemovePendingAppResources(applicationID string, pendingIDs map[string]string) error
- func (p ResourcePersistence) SetCharmStoreResource(id, applicationID string, res charmresource.Resource, lastPolled time.Time) error
- func (p ResourcePersistence) SetResource(res resource.Resource) error
- func (p ResourcePersistence) SetUnitResource(unitID string, res resource.Resource) error
- func (p ResourcePersistence) SetUnitResourceProgress(unitID string, res resource.Resource, progress int64) error
- func (p ResourcePersistence) StageResource(res resource.Resource, storagePath string) (*StagedResource, error)
- type ResourcePersistenceBase
- type Resources
- type ResourcesPersistence
- type RestoreInfo
- type RestoreStatus
- type RunTransactionObserverFunc
- type SSHHostKeys
- type SaveCloudServiceArgs
- type SessionCloser
- type SetCharmConfig
- type Settings
- func (s *Settings) Delete(key string)
- func (s *Settings) Get(key string) (value interface{}, found bool)
- func (s *Settings) Keys() []string
- func (s *Settings) Map() map[string]interface{}
- func (s *Settings) Read() error
- func (s *Settings) Set(key string, value interface{})
- func (s *Settings) Update(kv map[string]interface{})
- func (s *Settings) Write() (settings.ItemChanges, error)
- func (s *Settings) WriteOperation() ModelOperation
- type Space
- func (s *Space) EnsureDead() (err error)
- func (s *Space) Id() string
- func (s *Space) IsPublic() bool
- func (s *Space) Life() Life
- func (s *Space) Name() string
- func (s *Space) NetworkSpace() (network.SpaceInfo, error)
- func (s *Space) ProviderId() network.Id
- func (s *Space) Refresh() error
- func (s *Space) Remove() (err error)
- func (s *Space) RemoveSpaceOps() []txn.Op
- func (s *Space) RenameSpaceOps(toName string) []txn.Op
- func (s *Space) String() string
- func (s *Space) Subnets() ([]*Subnet, error)
- type StagedResource
- type State
- func (st *State) APIHostPortsForAgents() ([]network.SpaceHostPorts, error)
- func (st *State) APIHostPortsForClients() ([]network.SpaceHostPorts, error)
- func (st *State) AbortCurrentUpgrade() error
- func (st *State) AddApplication(args AddApplicationArgs) (_ *Application, err error)
- func (st *State) AddBranch(branchName, userName string) error
- func (st *State) AddCharm(info CharmInfo) (stch *Charm, err error)
- func (st *State) AddCharmPlaceholder(curl *charm.URL) (err error)
- func (st *State) AddCloud(c cloud.Cloud, owner string) error
- func (st *State) AddControllerNode() (*controllerNode, error)
- func (st *State) AddControllerUser(spec UserAccessSpec) (permission.UserAccess, error)
- func (st *State) AddMachine(series string, jobs ...MachineJob) (*Machine, error)
- func (st *State) AddMachineInsideMachine(template MachineTemplate, parentId string, ...) (*Machine, error)
- func (st *State) AddMachineInsideNewMachine(template, parentTemplate MachineTemplate, containerType instance.ContainerType) (*Machine, error)
- func (st *State) AddMachines(templates ...MachineTemplate) (_ []*Machine, err error)
- func (st *State) AddMetrics(batch BatchParam) (*MetricBatch, error)
- func (st *State) AddModelMetrics(batch ModelBatchParam) (*MetricBatch, error)
- func (st *State) AddOfferConnection(args AddOfferConnectionParams) (_ *OfferConnection, err error)
- func (st *State) AddOneMachine(template MachineTemplate) (*Machine, error)
- func (st *State) AddRelation(eps ...Endpoint) (r *Relation, err error)
- func (st *State) AddRemoteApplication(args AddRemoteApplicationParams) (_ *RemoteApplication, err error)
- func (st *State) AddSpace(name string, providerId network.Id, subnetIDs []string, isPublic bool) (newSpace *Space, err error)
- func (st *State) AddSubnet(args network.SubnetInfo) (subnet *Subnet, err error)
- func (st *State) AddSubnetOps(args network.SubnetInfo) ([]txn.Op, error)
- func (st *State) AddUser(name, displayName, password, creator string) (*User, error)
- func (st *State) AddUserWithSecretKey(name, displayName, creator string) (*User, error)
- func (st *State) Addresses() ([]string, error)
- func (st *State) AllApplications() (applications []*Application, err error)
- func (st *State) AllBlocks() ([]Block, error)
- func (st *State) AllBlocksForController() ([]Block, error)
- func (st *State) AllCharms() ([]*Charm, error)
- func (st *State) AllCloudCredentials(user names.UserTag) ([]Credential, error)
- func (st *State) AllConstraints() ([]*Constraints, error)
- func (st *State) AllEndpointBindingsSpaceNames() (set.Strings, error)
- func (st *State) AllIPAddresses() (addresses []*Address, err error)
- func (st *State) AllLinkLayerDevices() (devices []*LinkLayerDevice, err error)
- func (st *State) AllMachineRemovals() ([]string, error)
- func (st *State) AllMachines() ([]*Machine, error)
- func (st *State) AllMetricBatches() ([]MetricBatch, error)
- func (st *State) AllModelUUIDs() ([]string, error)
- func (st *State) AllModelUUIDsIncludingDead() ([]string, error)
- func (st *State) AllOfferConnections() ([]*OfferConnection, error)
- func (st *State) AllRelations() (relations []*Relation, err error)
- func (st *State) AllRemoteApplications() (applications []*RemoteApplication, err error)
- func (st *State) AllRemoteEntities() ([]RemoteEntity, error)
- func (st *State) AllSpaceInfos() (network.SpaceInfos, error)
- func (st *State) AllSpaces() ([]*Space, error)
- func (st *State) AllSubnetInfos() (network.SubnetInfos, error)
- func (st *State) AllSubnets() (subnets []*Subnet, err error)
- func (st *State) AllUnitAssignments() ([]UnitAssignment, error)
- func (st *State) AllUsers(includeDeactivated bool) ([]*User, error)
- func (st *State) Application(name string) (_ *Application, err error)
- func (st *State) ApplicationLeaders() (map[string]string, error)
- func (st *State) ApplyOperation(op ModelOperation) error
- func (st *State) AssignStagedUnits(ids []string) ([]UnitAssignmentResult, error)
- func (st *State) AssignUnit(u *Unit, policy AssignmentPolicy) (err error)
- func (st *State) AssignUnitWithPlacement(unit *Unit, placement *instance.Placement) error
- func (st *State) AutocertCache() autocert.Cache
- func (st *State) Branch(name string) (*Generation, error)
- func (st *State) Branches() ([]*Generation, error)
- func (st *State) Charm(curl *charm.URL) (*Charm, error)
- func (st *State) Cleanup() (err error)
- func (st *State) CleanupOldMetrics() error
- func (st *State) ClearUpgradeInfo() error
- func (st *State) Close() (err error)
- func (st *State) Cloud(name string) (cloud.Cloud, error)
- func (st *State) CloudCredential(tag names.CloudCredentialTag) (Credential, error)
- func (st *State) CloudCredentials(user names.UserTag, cloudName string) (map[string]Credential, error)
- func (st *State) CloudService(id string) (*CloudService, error)
- func (st *State) Clouds() (map[names.CloudTag]cloud.Cloud, error)
- func (st *State) CloudsForUser(user names.UserTag, all bool) ([]CloudInfo, error)
- func (st *State) CommittedBranch(id int) (*Generation, error)
- func (st *State) CommittedBranches() ([]*Generation, error)
- func (st *State) CompleteMachineRemovals(ids ...string) error
- func (st *State) CompletedMigration() (ModelMigration, error)
- func (st *State) CompletedMigrationForModel(modelUUID string) (ModelMigration, error)
- func (st *State) ComposeNewModelConfig(modelAttr map[string]interface{}, ...) (map[string]interface{}, error)
- func (st *State) ConstraintsBySpaceName(spaceName string) ([]*Constraints, error)
- func (st *State) ControllerConfig() (jujucontroller.Config, error)
- func (st *State) ControllerIds() ([]string, error)
- func (st *State) ControllerInfo() (*ControllerInfo, error)
- func (st *State) ControllerModelTag() names.ModelTag
- func (st *State) ControllerModelUUID() string
- func (st *State) ControllerNode(id string) (ControllerNode, error)
- func (st *State) ControllerNodes() ([]*controllerNode, error)
- func (st *State) ControllerOwner() (names.UserTag, error)
- func (st *State) ControllerTag() names.ControllerTag
- func (st *State) ControllerTimestamp() (*time.Time, error)
- func (st *State) ControllerUUID() string
- func (st *State) ConvertSpaceHostPort(sHP network.SpaceHostPort) (network.ProviderHostPort, error)
- func (st *State) ConvertSpaceHostPorts(sHPs network.SpaceHostPorts) (network.ProviderHostPorts, error)
- func (st *State) CountOfSentMetrics() (int, error)
- func (st *State) CountOfUnsentMetrics() (int, error)
- func (st *State) CreateCloudAccess(cloud string, user names.UserTag, access permission.Access) error
- func (st *State) CreateMigration(spec MigrationSpec) (ModelMigration, error)
- func (st *State) CreateOfferAccess(offer names.ApplicationOfferTag, user names.UserTag, access permission.Access) error
- func (st *State) CredentialModels(tag names.CloudCredentialTag) (map[string]string, error)
- func (st *State) CredentialModelsAndOwnerAccess(tag names.CloudCredentialTag) ([]CredentialOwnerModelAccess, error)
- func (st *State) DefaultEndpointBindingSpace() (string, error)
- func (st *State) DumpAll() (map[string]interface{}, error)
- func (st *State) EnableHA(numControllers int, cons constraints.Value, series string, placement []string) (ControllersChanges, error)
- func (st *State) EndpointsRelation(endpoints ...Endpoint) (*Relation, error)
- func (st *State) EnsureModelRemoved() error
- func (st *State) EnsureUpgradeInfo(controllerId string, previousVersion, targetVersion version.Number) (*UpgradeInfo, error)
- func (st *State) Export() (description.Model, error)
- func (st *State) ExportPartial(cfg ExportConfig) (description.Model, error)
- func (st *State) ExternalControllerForModel(modelUUID string) (*externalController, error)
- func (st *State) FindEntity(tag names.Tag) (Entity, error)
- func (st *State) GUISetVersion(vers version.Number) error
- func (st *State) GUIStorage() (binarystorage.StorageCloser, error)
- func (st *State) GUIVersion() (vers version.Number, err error)
- func (st *State) GetBlockForType(t BlockType) (Block, bool, error)
- func (st *State) GetCloudAccess(cloud string, user names.UserTag) (permission.Access, error)
- func (st *State) GetCloudUsers(cloud string) (map[string]permission.Access, error)
- func (st *State) GetOfferAccess(offerUUID string, user names.UserTag) (permission.Access, error)
- func (st *State) GetOfferUsers(offerUUID string) (map[string]permission.Access, error)
- func (st *State) GetSSHHostKeys(tag names.MachineTag) (SSHHostKeys, error)
- func (st *State) HAPrimaryMachine() (names.MachineTag, error)
- func (st *State) HasUpgradeSeriesLocks() (bool, error)
- func (st *State) ImageStorage() imagestorage.Storage
- func (st *State) InferEndpoints(names ...string) ([]Endpoint, error)
- func (st *State) InvalidateCloudCredential(tag names.CloudCredentialTag, reason string) error
- func (st *State) InvalidateModelCredential(reason string) error
- func (st *State) IsController() bool
- func (st *State) IsControllerAdmin(user names.UserTag) (bool, error)
- func (st *State) IsMigrationActive() (bool, error)
- func (st *State) IsUpgrading() (bool, error)
- func (st *State) KeyRelation(key string) (*Relation, error)
- func (st *State) LatestMigration() (ModelMigration, error)
- func (st *State) LatestPlaceholderCharm(curl *charm.URL) (*Charm, error)
- func (st *State) LeaseNotifyTarget(logDest io.Writer, errorLogger raftleasestore.Logger) raftlease.NotifyTarget
- func (st *State) LeaseTrapdoorFunc() raftlease.TrapdoorFunc
- func (st *State) LinkLayerDevice(id string) (*LinkLayerDevice, error)
- func (st *State) Machine(id string) (*Machine, error)
- func (st *State) MaybePruneTransactions() error
- func (st *State) MetricBatch(id string) (*MetricBatch, error)
- func (st *State) MetricBatchesForApplication(application string) ([]MetricBatch, error)
- func (st *State) MetricBatchesForModel() ([]MetricBatch, error)
- func (st *State) MetricBatchesForUnit(unit string) ([]MetricBatch, error)
- func (st *State) MetricsManager() (*MetricsManager, error)
- func (st *State) MetricsToSend(batchSize int) ([]*MetricBatch, error)
- func (st *State) Migration(id string) (ModelMigration, error)
- func (st *State) Model() (*Model, error)
- func (st *State) ModelBasicInfoForUser(user names.UserTag) ([]ModelAccessInfo, error)
- func (st *State) ModelConfigDefaultValues(cloudName string) (config.ModelDefaultAttributes, error)
- func (st *State) ModelConstraints() (constraints.Value, error)
- func (st *State) ModelExists(uuid string) (bool, error)
- func (st *State) ModelMeterStatus() (MeterStatus, error)
- func (st *State) ModelPayloads() (ModelPayloads, error)
- func (st *State) ModelSummariesForUser(user names.UserTag, all bool) ([]ModelSummary, error)
- func (st *State) ModelUUID() string
- func (st *State) ModelUUIDsForUser(user names.UserTag) ([]string, error)
- func (st *State) MongoSession() *mgo.Session
- func (st *State) MongoVersion() (string, error)
- func (st *State) NeedsCleanup() (bool, error)
- func (st *State) NewBakeryConfig() bakerystorage.BakeryConfig
- func (st *State) NewBakeryStorage() (bakerystorage.ExpirableStorage, error)
- func (st *State) NewControllerSettings() *StateSettings
- func (st *State) NewSettings() *StateSettings
- func (st *State) OfferConnectionForRelation(relationKey string) (*OfferConnection, error)
- func (st *State) OfferConnections(offerUUID string) ([]*OfferConnection, error)
- func (st *State) OfferConnectionsForUser(username string) ([]*OfferConnection, error)
- func (st *State) Ping() error
- func (st *State) PrepareCharmUpload(curl *charm.URL) (*Charm, error)
- func (st *State) PrepareLocalCharmUpload(curl *charm.URL) (chosenURL *charm.URL, err error)
- func (st *State) ProcessDyingModel() (err error)
- func (st *State) ReadSettings(collection, key string) (*Settings, error)
- func (st *State) Relation(id int) (*Relation, error)
- func (st *State) RemoteApplication(name string) (_ *RemoteApplication, err error)
- func (st *State) RemoteApplicationByToken(token string) (_ *RemoteApplication, err error)
- func (st *State) RemoteConnectionStatus(offerUUID string) (*RemoteConnectionStatus, error)
- func (st *State) RemoteEntities() *RemoteEntities
- func (st *State) RemoveAllBlocksForController() error
- func (st *State) RemoveCloud(name string) error
- func (st *State) RemoveCloudAccess(cloud string, user names.UserTag) error
- func (st *State) RemoveCloudCredential(tag names.CloudCredentialTag) error
- func (st *State) RemoveControllerReference(c controllerReference) error
- func (st *State) RemoveDyingModel() error
- func (st *State) RemoveExportingModelDocs() error
- func (st *State) RemoveImportingModelDocs() error
- func (st *State) RemoveModelsCredential(tag names.CloudCredentialTag) error
- func (st *State) RemoveOfferAccess(offer names.ApplicationOfferTag, user names.UserTag) error
- func (st *State) RemoveUser(tag names.UserTag) error
- func (st *State) RemoveUserAccess(subject names.UserTag, target names.Tag) error
- func (st *State) Report() map[string]interface{}
- func (st *State) ResolveConstraints(cons constraints.Value) (constraints.Value, error)
- func (st *State) Resources() (Resources, error)
- func (st *State) ResourcesPersistence() (ResourcesPersistence, error)
- func (st *State) RestoreInfo() *RestoreInfo
- func (st *State) ResumeTransactions() error
- func (st *State) SLACredential() ([]byte, error)
- func (st *State) SLALevel() (string, error)
- func (st *State) SafeControllerIds() ([]string, error)
- func (st *State) SaveCloudService(args SaveCloudServiceArgs) (_ *CloudService, err error)
- func (st *State) SaveProviderSubnets(subnets []network.SubnetInfo, spaceID string) error
- func (st *State) Sequences() (map[string]int, error)
- func (st *State) SetAPIHostPorts(newHostPorts []network.SpaceHostPorts) error
- func (st *State) SetAdminMongoPassword(password string) error
- func (st *State) SetMetricBatchesSent(batchUUIDs []string) error
- func (st *State) SetModelAgentVersion(newVersion version.Number, ignoreAgentVersions bool) (err error)
- func (st *State) SetModelConstraints(cons constraints.Value) error
- func (st *State) SetModelMeterStatus(status, info string) error
- func (st *State) SetSLA(level, owner string, credentials []byte) error
- func (st *State) SetSSHHostKeys(tag names.MachineTag, keys SSHHostKeys) error
- func (st *State) SetStateServingInfo(info jujucontroller.StateServingInfo) error
- func (st *State) SetUserAccess(subject names.UserTag, target names.Tag, access permission.Access) (permission.UserAccess, error)
- func (st *State) Space(id string) (*Space, error)
- func (st *State) SpaceByName(name string) (*Space, error)
- func (st *State) StartSync()
- func (st *State) StateServingInfo() (jujucontroller.StateServingInfo, error)
- func (st *State) Subnet(id string) (*Subnet, error)
- func (st *State) SubnetByCIDR(cidr string) (*Subnet, error)
- func (st *State) SubnetUpdate(args network.SubnetInfo) error
- func (st *State) SubnetsByCIDR(cidr string) ([]*Subnet, error)
- func (st *State) SwitchBlockOff(t BlockType) error
- func (st *State) SwitchBlockOn(t BlockType, msg string) error
- func (st *State) ToolsStorage() (binarystorage.StorageCloser, error)
- func (s *State) TrackQueries(method string) QueryTracker
- func (st *State) Unit(name string) (*Unit, error)
- func (st *State) UnitPayloads(unit *Unit) (UnitPayloads, error)
- func (st *State) UnitsFor(machineId string) ([]*Unit, error)
- func (st *State) UnitsInError() ([]*Unit, error)
- func (st *State) UpdateCloud(c cloud.Cloud) error
- func (st *State) UpdateCloudAccess(cloud string, user names.UserTag, access permission.Access) error
- func (st *State) UpdateCloudCredential(tag names.CloudCredentialTag, credential cloud.Credential) error
- func (st *State) UpdateControllerConfig(updateAttrs map[string]interface{}, removeAttrs []string) error
- func (st *State) UpdateModelConfigDefaultValues(updateAttrs map[string]interface{}, removeAttrs []string, ...) error
- func (st *State) UpdateOfferAccess(offer names.ApplicationOfferTag, user names.UserTag, access permission.Access) error
- func (st *State) UpdateUploadedCharm(info CharmInfo) (*Charm, error)
- func (st *State) User(tag names.UserTag) (*User, error)
- func (st *State) UserAccess(subject names.UserTag, target names.Tag) (permission.UserAccess, error)
- func (st *State) UserPermission(subject names.UserTag, target names.Tag) (permission.Access, error)
- func (st *State) WatchAPIHostPortsForAgents() NotifyWatcher
- func (st *State) WatchAPIHostPortsForClients() NotifyWatcher
- func (st *State) WatchActionLogs(actionId string) StringsWatcher
- func (st *State) WatchApplications() StringsWatcher
- func (st *State) WatchCleanups() NotifyWatcher
- func (st *State) WatchControllerConfig() NotifyWatcher
- func (st *State) WatchControllerInfo() StringsWatcher
- func (st *State) WatchControllerStatusChanges() StringsWatcher
- func (st *State) WatchCredential(cred names.CloudCredentialTag) NotifyWatcher
- func (st *State) WatchForMigration() NotifyWatcher
- func (st *State) WatchForUnitAssignment() StringsWatcher
- func (st *State) WatchMachineRemovals() NotifyWatcher
- func (st *State) WatchMigrationStatus() NotifyWatcher
- func (st *State) WatchMinUnits() StringsWatcher
- func (st *State) WatchModelEntityReferences(mUUID string) NotifyWatcher
- func (st *State) WatchModelLives() StringsWatcher
- func (st *State) WatchModelMachineStartTimes(quiesceInterval time.Duration) StringsWatcher
- func (st *State) WatchModelMachines() StringsWatcher
- func (st *State) WatchModels() StringsWatcher
- func (st *State) WatchOffer(offerName string) NotifyWatcher
- func (st *State) WatchOfferStatus(offerUUID string) (NotifyWatcher, error)
- func (st *State) WatchOpenedPorts() StringsWatcher
- func (st *State) WatchRemoteApplications() StringsWatcher
- func (st *State) WatchRemoteRelations() StringsWatcher
- func (st *State) WatchRestoreInfoChanges() NotifyWatcher
- func (st *State) WatchSubnets(subnetFilter func(id interface{}) bool) StringsWatcher
- func (st *State) WatchUpgradeInfo() NotifyWatcher
- type StateDocumentFactory
- type StatePool
- func (p *StatePool) Clock() clock.Clock
- func (p *StatePool) Close() error
- func (p *StatePool) Get(modelUUID string) (*PooledState, error)
- func (p *StatePool) GetModel(modelUUID string) (*Model, PoolHelper, error)
- func (p *StatePool) IntrospectionReport() string
- func (p *StatePool) Remove(modelUUID string) (bool, error)
- func (p *StatePool) Report() map[string]interface{}
- func (p *StatePool) SystemState() *State
- func (p *StatePool) TxnWatcherStarted() <-chan struct{}
- type StateSettings
- func (s *StateSettings) CreateSettings(key string, settings map[string]interface{}) error
- func (s *StateSettings) DeltaOps(key string, delta settings.ItemChanges) ([]txn.Op, error)
- func (s *StateSettings) ListSettings(keyPrefix string) (map[string]map[string]interface{}, error)
- func (s *StateSettings) ReadSettings(key string) (map[string]interface{}, error)
- func (s *StateSettings) RemoveSettings(key string) error
- func (s *StateSettings) ReplaceSettings(key string, settings map[string]interface{}) error
- type StorageAttachment
- type StorageConstraints
- type StorageInstance
- type StorageKind
- type StringsWatcher
- type Subnet
- func (s *Subnet) AvailabilityZones() []string
- func (s *Subnet) CIDR() string
- func (s *Subnet) EnsureDead() (err error)
- func (s *Subnet) FanLocalUnderlay() string
- func (s *Subnet) FanOverlay() string
- func (s *Subnet) GoString() string
- func (s *Subnet) ID() string
- func (s *Subnet) IsPublic() bool
- func (s *Subnet) Life() Life
- func (s *Subnet) NetworkSubnet() network.SubnetInfo
- func (s *Subnet) ProviderId() network.Id
- func (s *Subnet) ProviderNetworkId() network.Id
- func (s *Subnet) Refresh() error
- func (s *Subnet) Remove() (err error)
- func (s *Subnet) SpaceID() string
- func (s *Subnet) SpaceName() string
- func (s *Subnet) String() string
- func (s *Subnet) Update(args network.SubnetInfo) error
- func (s *Subnet) UpdateSpaceOps(spaceID string) []txn.Op
- func (s *Subnet) VLANTag() int
- type TimeUnit
- type TransactionRunner
- type Unit
- func (u *Unit) ActionSpecs() (ActionSpecsByName, error)
- func (u *Unit) Actions() ([]Action, error)
- func (u *Unit) AddAction(operationID, name string, payload map[string]interface{}) (Action, error)
- func (u *Unit) Agent() *UnitAgent
- func (u *Unit) AgentHistory() status.StatusHistoryGetter
- func (u *Unit) AgentStatus() (status.StatusInfo, error)
- func (u *Unit) AgentTools() (*tools.Tools, error)
- func (u *Unit) AllAddresses() (addrs network.SpaceAddresses, _ error)
- func (u *Unit) Application() (*Application, error)
- func (u *Unit) ApplicationName() string
- func (u *Unit) AssignToCleanEmptyMachine() (m *Machine, err error)
- func (u *Unit) AssignToCleanMachine() (m *Machine, err error)
- func (u *Unit) AssignToMachine(m *Machine) (err error)
- func (u *Unit) AssignToNewMachine() (err error)
- func (u *Unit) AssignToNewMachineOrContainer() (err error)
- func (u *Unit) AssignedMachineId() (id string, err error)
- func (u *Unit) AvailabilityZone() (string, error)
- func (u *Unit) CancelAction(action Action) (Action, error)
- func (u *Unit) CharmURL() (*charm.URL, bool)
- func (u *Unit) ClearResolved() error
- func (u *Unit) CompletedActions() ([]Action, error)
- func (u *Unit) ConfigSettings() (charm.Settings, error)
- func (u *Unit) Constraints() (*constraints.Value, error)
- func (u *Unit) ContainerInfo() (CloudContainer, error)
- func (u *Unit) Destroy() error
- func (u *Unit) DestroyOperation() *DestroyUnitOperation
- func (u *Unit) DestroyWithForce(force bool, maxWait time.Duration) (errs []error, err error)
- func (u *Unit) EnsureDead() (err error)
- func (u *Unit) GetMeterStatus() (MeterStatus, error)
- func (u *Unit) IsEmbedded() (bool, error)
- func (u *Unit) IsPrincipal() bool
- func (u *Unit) Life() Life
- func (u *Unit) Name() string
- func (u *Unit) OpenedPortRanges() (UnitPortRanges, error)
- func (u *Unit) PasswordValid(password string) bool
- func (u *Unit) PendingActions() ([]Action, error)
- func (u *Unit) PrincipalName() (string, bool)
- func (u *Unit) PrivateAddress() (network.SpaceAddress, error)
- func (u *Unit) PublicAddress() (network.SpaceAddress, error)
- func (u *Unit) Refresh() error
- func (u *Unit) RelationsInScope() ([]*Relation, error)
- func (u *Unit) RelationsJoined() ([]*Relation, error)
- func (u *Unit) Remove() error
- func (u *Unit) RemoveOperation(force bool) *RemoveUnitOperation
- func (u *Unit) RemoveWithForce(force bool, maxWait time.Duration) ([]error, error)
- func (u *Unit) Resolve(retryHooks bool) error
- func (u *Unit) Resolved() ResolvedMode
- func (u *Unit) RunningActions() ([]Action, error)
- func (u *Unit) Series() string
- func (u *Unit) SetAgentStatus(agentStatus status.StatusInfo) error
- func (u *Unit) SetAgentVersion(v version.Binary) (err error)
- func (u *Unit) SetCharmURL(curl *charm.URL) error
- func (u *Unit) SetMeterStatus(codeStr, info string) error
- func (u *Unit) SetPassword(password string) error
- func (u *Unit) SetResolved(mode ResolvedMode) (err error)
- func (u *Unit) SetState(unitState *UnitState, limits UnitStateSizeLimits) error
- func (u *Unit) SetStateOperation(unitState *UnitState, limits UnitStateSizeLimits) ModelOperation
- func (u *Unit) SetStatus(unitStatus status.StatusInfo) error
- func (u *Unit) SetUpgradeSeriesStatus(status model.UpgradeSeriesStatus, message string) error
- func (u *Unit) SetWorkloadVersion(version string) error
- func (u *Unit) ShouldBeAssigned() bool
- func (u *Unit) State() (*UnitState, error)
- func (u *Unit) Status() (status.StatusInfo, error)
- func (u *Unit) StatusHistory(filter status.StatusHistoryFilter) ([]status.StatusInfo, error)
- func (u *Unit) StorageConstraints() (map[string]StorageConstraints, error)
- func (u *Unit) String() string
- func (u *Unit) SubordinateNames() []string
- func (u *Unit) Tag() names.Tag
- func (u *Unit) UnassignFromMachine() (err error)
- func (u *Unit) UnitTag() names.UnitTag
- func (u *Unit) UpdateOperation(props UnitUpdateProperties) *UpdateUnitOperation
- func (u *Unit) UpgradeSeriesStatus() (model.UpgradeSeriesStatus, error)
- func (u *Unit) Watch() NotifyWatcher
- func (u *Unit) WatchActionNotifications() StringsWatcher
- func (u *Unit) WatchApplicationConfigSettings() (NotifyWatcher, error)
- func (u *Unit) WatchApplicationConfigSettingsHash() (StringsWatcher, error)
- func (u *Unit) WatchConfigSettings() (NotifyWatcher, error)
- func (u *Unit) WatchConfigSettingsHash() (StringsWatcher, error)
- func (u *Unit) WatchContainerAddresses() NotifyWatcher
- func (u *Unit) WatchLXDProfileUpgradeNotifications() (StringsWatcher, error)
- func (u *Unit) WatchMachineAndEndpointAddressesHash() (StringsWatcher, error)
- func (u *Unit) WatchMeterStatus() NotifyWatcher
- func (u *Unit) WatchPendingActionNotifications() StringsWatcher
- func (u *Unit) WatchSubordinateUnits() StringsWatcher
- func (u *Unit) WorkloadVersion() (string, error)
- func (u *Unit) WorkloadVersionHistory() *HistoryGetter
- type UnitAgent
- func (u *UnitAgent) SetStatus(unitAgentStatus status.StatusInfo) (err error)
- func (u *UnitAgent) Status() (status.StatusInfo, error)
- func (u *UnitAgent) StatusHistory(filter status.StatusHistoryFilter) ([]status.StatusInfo, error)
- func (u *UnitAgent) String() string
- func (u *UnitAgent) Tag() names.Tag
- type UnitAssignment
- type UnitAssignmentResult
- type UnitPayloads
- type UnitPortRanges
- type UnitState
- func (u *UnitState) CharmState() (map[string]string, bool)
- func (u *UnitState) MeterStatusState() (string, bool)
- func (u *UnitState) Modified() bool
- func (u *UnitState) RelationState() (map[int]string, bool)
- func (u *UnitState) SetCharmState(state map[string]string)
- func (u *UnitState) SetMeterStatusState(state string)
- func (u *UnitState) SetRelationState(state map[int]string)
- func (u *UnitState) SetStorageState(state string)
- func (u *UnitState) SetUniterState(state string)
- func (u *UnitState) StorageState() (string, bool)
- func (u *UnitState) UniterState() (string, bool)
- type UnitStateSizeLimits
- type UnitUpdateProperties
- type UnitsWatcher
- type UpdateMachineOperation
- type UpdateUnitOperation
- type UpdateUnitsOperation
- type UpgradeInfo
- func (info *UpgradeInfo) Abort() error
- func (info *UpgradeInfo) AllProvisionedControllersReady() (bool, error)
- func (info *UpgradeInfo) ControllersDone() []string
- func (info *UpgradeInfo) ControllersReady() []string
- func (info *UpgradeInfo) PreviousVersion() version.Number
- func (info *UpgradeInfo) Refresh() error
- func (info *UpgradeInfo) SetControllerDone(controllerId string) error
- func (info *UpgradeInfo) SetStatus(status UpgradeStatus) error
- func (info *UpgradeInfo) Started() time.Time
- func (info *UpgradeInfo) Status() UpgradeStatus
- func (info *UpgradeInfo) TargetVersion() version.Number
- func (info *UpgradeInfo) Watch() NotifyWatcher
- type UpgradeSeriesMessage
- type UpgradeSeriesUnitStatus
- type UpgradeStatus
- type User
- func (u *User) CreatedBy() string
- func (u *User) DateCreated() time.Time
- func (u *User) Disable() error
- func (u *User) DisplayName() string
- func (u *User) Enable() error
- func (u *User) IsDeleted() bool
- func (u *User) IsDisabled() bool
- func (u *User) LastLogin() (time.Time, error)
- func (u *User) Name() string
- func (u *User) PasswordValid(password string) bool
- func (u *User) Refresh() error
- func (u *User) ResetPassword() ([]byte, error)
- func (u *User) SecretKey() []byte
- func (u *User) SetPassword(password string) error
- func (u *User) SetPasswordHash(pwHash string, pwSalt string) error
- func (u *User) String() string
- func (u *User) Tag() names.Tag
- func (u *User) UpdateLastLogin() (err error)
- func (u *User) UserTag() names.UserTag
- type UserAccessInfo
- type UserAccessSpec
- type ValidateConfigFunc
- type Volume
- type VolumeAttachment
- type VolumeAttachmentInfo
- type VolumeAttachmentParams
- type VolumeAttachmentPlan
- type VolumeAttachmentPlanInfo
- type VolumeInfo
- type VolumeParams
- type WatchParams
- type Watcher
Constants ¶
const ( ModelTypeIAAS = ModelType("iaas") ModelTypeCAAS = ModelType("caas") )
const ( // MigrationModeNone is the default mode for a model and reflects // that it isn't involved with a model migration. MigrationModeNone = MigrationMode("") // MigrationModeExporting reflects a model that is in the process of being // exported from one controller to another. MigrationModeExporting = MigrationMode("exporting") // MigrationModeImporting reflects a model that is being imported into a // controller, but is not yet fully active. MigrationModeImporting = MigrationMode("importing") )
const ( SLAUnsupported = slaLevel("unsupported") SLAEssential = slaLevel("essential") SLAStandard = slaLevel("standard") SLAAdvanced = slaLevel("advanced") )
const (
CleanupAge = time.Hour * 24
)
const (
// ControllerSettingsGlobalKey is the key for the controller and its settings.
ControllerSettingsGlobalKey = "controllerSettings"
)
const InitialLeaderClaimTime = time.Minute
Variables ¶
var ( IsCharmAlreadyUploadedError = stateerrors.IsCharmAlreadyUploadedError IsProviderIDNotUniqueError = stateerrors.IsProviderIDNotUniqueError IsParentDeviceHasChildrenError = stateerrors.IsParentDeviceHasChildrenError IsIncompatibleSeriesError = stateerrors.IsIncompatibleSeriesError IsNotAlive = stateerrors.IsNotAlive IsHasAssignedUnitsError = stateerrors.IsHasAssignedUnitsError IsHasContainersError = stateerrors.IsHasContainersError IsHasAttachmentsError = stateerrors.IsHasAttachmentsError IsHasHostedModelsError = stateerrors.IsHasHostedModelsError IsHasPersistentStorageError = stateerrors.IsHasPersistentStorageError IsModelNotEmptyError = stateerrors.IsModelNotEmptyError IsStorageAttachedError = stateerrors.IsStorageAttachedError IsDeletedUserError = stateerrors.IsDeletedUserError IsNeverLoggedInError = stateerrors.IsNeverLoggedInError IsNeverConnectedError = stateerrors.IsNeverConnectedError IsVersionInconsistentError = stateerrors.IsVersionInconsistentError )
var ErrChangeComplete = errors.New("change complete")
ErrChangeComplete can be returned from Prepare to finish an Apply attempt and report success without taking any further action.
var ErrModelNotDying = errors.New("model is not dying")
var ErrNeverForwarded = errors.Errorf("cannot find ID of the last forwarded record")
ErrNeverForwarded signals to the caller that the ID of a previously forwarded log record could not be found.
var ErrNoBackingVolume = errors.New("filesystem has no backing volume")
ErrNoBackingVolume is returned by Filesystem.Volume() for filesystems without a backing volume.
var ErrNoDefaultStoragePool = fmt.Errorf("no storage pool specified and no default available")
ErrNoDefaultStoragePool is returned when a storage pool is required but none is specified nor available as a default.
var ErrStateClosed = fmt.Errorf("state has been closed")
ErrStateClosed is returned from watchers if their underlying state connection has been closed.
var ErrSubordinateConstraints = stderrors.New("constraints do not apply to subordinate applications")
var MinVersionSupportNewActionID = version.MustParse("2.6.999")
MinVersionSupportNewActionID should be un-exposed after 2.7 released. TODO(action): un-expose MinVersionSupportNewActionID and IsNewActionIDSupported and remove those helper functions using these two vars in tests from 2.7.0.
var NewBroker caas.NewContainerBrokerFunc = caas.New
NewBroker returns a CAAS broker. Override for testing.
Functions ¶
func AddActionPruneSettings ¶
AddActionPruneSettings adds the model settings to control log pruning if they are missing.
func AddBakeryConfig ¶
AddBakeryConfig adds a bakery config doc to controllers collection if it does not already exist.
func AddCharmHubToModelConfig ¶
AddCharmHubToModelConfig inserts the charm-hub-url into the model-config if it's missing one.
func AddCharmOriginToApplications ¶
AddCharmOriginToApplications adds a CharmOrigin to all applications. It will attempt to deduce the source from the charmurl.
func AddCloudModelCounts ¶
AddCloudModelCounts updates cloud docs to ensure the model count field is set.
func AddControllerLogCollectionsSizeSettings ¶
AddControllerLogCollectionsSizeSettings adds the controller settings to control log pruning and txn log size if they are missing.
func AddControllerNodeDocs ¶
AddControllerNodeDocs creates controller nodes for each machine that wants to be a member of the mongo replicaset.
func AddLocalCharmSequences ¶
AddLocalCharmSequences creates any missing sequences in the database for tracking already used local charm revisions.
func AddMachineIDToSubordinates ¶
AddMachineIDToSubordinates ensures that the subordinate units have the machine ID set that matches the principal.
func AddMigrationAttempt ¶
AddMigrationAttempt adds an "attempt" field to migration documents which are missing one.
func AddModelEnvironVersion ¶
AddModelEnvironVersion ensures that all model docs have an environ-version field. For those that do not have one, they are seeded with version zero. This will force all environ upgrade steps to be run; there are only two providers (azure and vsphere) that had upgrade steps at the time, and the upgrade steps are required to be idempotent anyway.
func AddModelLogsSize ¶
AddModelLogsSize to controller config.
func AddModelType ¶
AddModelType adds a "type" field to model documents which don't have one. The "iaas" type is used.
func AddNonDetachableStorageMachineId ¶
AddNonDetachableStorageMachineId sets the "machineid" field on volume and filesystem docs that are inherently bound to that machine.
func AddOriginToIPAddresses ¶
AddOriginToIPAddresses ensures that all ip address have an origin associated with them.
func AddRelationStatus ¶
AddRelationStatus sets the initial status for existing relations without a status.
func AddSpaceIdToSpaceDocs ¶
AddSpaceIdToSpaceDocs ensures that every space document includes a a sequentially generated ID. It also adds a doc for the default space (ID=0).
func AddStatusHistoryPruneSettings ¶
AddStatusHistoryPruneSettings adds the model settings to control log pruning if they are missing.
func AddStorageInstanceConstraints ¶
AddStorageInstanceConstraints sets the "constraints" field on storage instance docs.
func AddSubnetIdToSubnetDocs ¶
AddSubnetIdToSubnetDocs ensures that every subnet document includes a a sequentially generated ID.
func AddUpdateStatusHookSettings ¶
AddUpdateStatusHookSettings adds the model settings to control how often to run the update-status hook if they are missing.
func ApplicationInstances ¶
ApplicationInstances returns the instance IDs of provisioned machines that are assigned units of the specified application.
func ApplicationMachines ¶
ApplicationMachines returns the machine IDs of machines which have the specified application listed as a principal.
func Apply ¶
Apply runs the supplied Change against the supplied Database. If it returns no error, the change succeeded.
func ChangeSubnetAZtoSlice ¶
ChangeSubnetAZtoSlice changes AvailabilityZone in every subnet document to AvailabilityZones, a slice of strings.
func ChangeSubnetSpaceNameToSpaceID ¶
ChangeSubnetSpaceNameToSpaceID replaces the SpaceName with the SpaceID in a subnet.
func CheckApplicationExpectsWorkload ¶
CheckApplicationExpectsWorkload checks if the application expects workload or not.
func ControllerAccess ¶
func ControllerAccess(st *State, tag names.Tag) (permission.UserAccess, error)
func ConvertAddressSpaceIDs ¶
ConvertAddressSpaceIDs interrogates stored addresses. Where such addresses include a space name or provider ID, The space is retrieved and these fields are removed in favour of space's ID.
func CorrectRelationUnitCounts ¶
CorrectRelationUnitCounts ensures that there aren't any rows in relationscopes for applications that shouldn't be there. Fix for https://bugs.launchpad.net/juju/+bug/1699050
func CreateMissingApplicationConfig ¶
CreateMissingApplicationConfig ensures that all models have an application config in the db.
func DefaultEndpointBindingsForCharm ¶
func DefaultEndpointBindingsForCharm(st EndpointBinding, charmMeta *charm.Meta) (map[string]string, error)
DefaultEndpointBindingsForCharm populates a bindings map containing each endpoint of the given charm metadata (relation name or extra-binding name) bound to an empty space.
func DeleteCloudImageMetadata ¶
DeleteCloudImageMetadata deletes any non-custom cloud image metadata records from the cloudimagemetadata collection.
func DropLeasesCollection ¶
DropLeasesCollection removes the leases collection. Tolerates the collection already not existing.
func DropPresenceDatabase ¶
DropPresenceDatabase removes the legacy presence database.
func EnsureApplicationDeviceConstraints ¶
EnsureApplicationDeviceConstraints ensures that there is a device constraints document for every application.
func EnsureDefaultModificationStatus ¶
EnsureDefaultModificationStatus ensures that there is a modification status document for every machine in the statuses.
func EnsureDefaultSpaceSetting ¶
EnsureDefaultSpaceSetting sets the model config value for "default-space" to "" if it is unset or is set to the now-deprecated value "_default".
func EnsureRelationApplicationSettings ¶
EnsureRelationApplicationSettings creates an application settings doc for each endpoint in each relation if one doesn't already exist.
func ExposeWildcardEndpointForExposedApplications ¶
ExposeWildcardEndpointForExposedApplications adds an ExposedEndpoint entry for the wildcard endpoint (to 0.0.0.0/0) for already exposed applications. This ensures that all exposed applications are accessible at least one CIDR and allows us to drop the fallback to 0.0.0.0/0 if no CIDRs present logic from the firewaller worker.
func FilesystemMountPoint ¶
func FilesystemMountPoint( meta charm.Storage, tag names.StorageTag, series string, ) (string, error)
FilesystemMountPoint returns a mount point to use for the given charm storage. For stores with potentially multiple instances, the instance name is appended to the location.
func HostedModelCountOp ¶
func IncrementTasksSequence ¶
IncrementTasksSequence adds 1 to the "tasks" sequence. Previously, numbering started at 0, now it starts at 1 so we need to ensure that upgraded controllers do not get a conflicting task id.
func InitDatabase ¶
InitDatabase creates all the collections and indices in a Juju database.
func InitDbLogs ¶
InitDbLogs sets up the capped collections for the logging, along with the indexes for the logs collection. It should be called as state is opened. It is idempotent.
func InitDbLogsForModel ¶
InitDbLogsForModel sets up the indexes for the logs collection for the specified model. It should be called as state is opened. It is idempotent. This function also ensures that the logs collection is capped at the right size.
func IsContainsFilesystem ¶
func IsMigrationActive ¶
IsMigrationActive returns true if a migration is in progress for the model with the given UUID. The State provided need not be for the model in question.
func IsNewActionIDSupported ¶
IsNewActionIDSupported checks if new action ID is supported for the specified version.
func LegacyLeases ¶
LegacyLeases returns information about all of the leases in the state-based lease store.
func MigrateAddModelPermissions ¶
MigrateAddModelPermissions converts add-model permissions on the controller to add-model permissions on the controller cloud.
func MigrateLeasesToGlobalTime ¶
MigrateLeasesToGlobalTime removes old (<2.3-beta2) lease/clock-skew documents, replacing the lease documents with new ones for the existing lease holders.
func MigrateStorageMachineIdFields ¶
MigrateStorageMachineIdFields updates the various storage collections to copy any machineid field value across to hostid.
func MoveMongoSpaceToHASpaceConfig ¶
CopyMongoSpaceToHASpaceConfig copies the Mongo space name from ControllerInfo to the HA space name in ControllerConfig. This only happens if the Mongo space state is valid, it is not empty, and if there is no value already set for the HA space name. The old keys are then deleted from ControllerInfo.
func MoveOldAuditLog ¶
MoveOldAuditLog renames the no-longer-needed audit.log collection to old-audit.log if it has any rows - if it's empty it deletes it.
func NewApplicationOffers ¶
func NewApplicationOffers(st *State) crossmodel.ApplicationOffers
NewApplicationOffers creates a application directory backed by a state instance.
func NewControllerUserAccess ¶
func NewControllerUserAccess(st *State, userDoc userAccessDoc) (permission.UserAccess, error)
NewControllerUserAccess returns a new permission.UserAccess for the given userDoc and current Controller.
func NewDeviceBackend ¶
NewDeviceBackend creates a backend for managing device.
func NewExternalControllers ¶
func NewExternalControllers(st *State) *externalControllers
NewExternalControllers creates an external controllers instance backed by a state.
func NewFirewallRules ¶
func NewFirewallRules(st *State) *firewallRulesState
NewFirewallRules creates a FirewallRule instance backed by a state.
func NewModelUserAccess ¶
func NewModelUserAccess(st *State, userDoc userAccessDoc) (permission.UserAccess, error)
NewModelUserAccess returns a new permission.UserAccess for the given userDoc and current Model.
func NewRelationEgressNetworks ¶
func NewRelationEgressNetworks(st *State) *relationNetworksState
NewRelationEgressNetworks creates a RelationNetworks instance for egress CIDRS backed by a state.
func NewRelationIngressNetworks ¶
func NewRelationIngressNetworks(st *State) *relationNetworksState
NewRelationIngressNetworks creates a RelationNetworks instance for ingress CIDRS backed by a state.
func NewRelationNetworks ¶
func NewRelationNetworks(st *State) *rootRelationNetworksState
NewRelationNetworks creates a root RelationNetworks without a direction, so accessing RelationNetworks is possible agnostically.
func NewStorageBackend ¶
NewStorageBackend creates a backend for managing storage.
func ParseFilesystemAttachmentId ¶
ParseFilesystemAttachmentId parses a string as a filesystem attachment ID, returning the host and filesystem components.
func ParseVolumeAttachmentId ¶
ParseVolumeAttachmentId parses a string as a volume attachment ID, returning the host and volume components.
func PruneOperations ¶
PruneOperations removes operation entries and their sub-tasks until only logs newer than <maxLogTime> remain and also ensures that the actions collection is smaller than <maxLogsMB> after the deletion.
func PruneStatusHistory ¶
func RemoveContainerImageStreamFromNonModelSettings ¶
RemoveContainerImageStreamFromNonModelSettings In 2.3.6 we accidentally had an upgrade step that added "container-image-stream": "released" to all settings documents, not just the ones relating to Model data. This removes it from all the ones that aren't model docs if it is exactly what we would have added in 2.3.6
func RemoveControllerConfigMaxLogAgeAndSize ¶
RemoveControllerConfigMaxLogAgeAndSize deletes the controller configuration settings for max-logs-age and max-logs-size if they exist.
func RemoveInstanceCharmProfileDataCollection ¶
RemoveInstanceCharmProfileDataCollection removes the instanceCharmProfileData collection on upgrade.
func RemoveModelBlock ¶
func RemoveNilValueApplicationSettings ¶
RemoveNilValueApplicationSettings removes any application setting key-value pairs from "settings" where value is nil.
func RemoveUnsupportedLinkLayer ¶
RemoveUnsupportedLinkLayer removes link-layer devices and addresses where the EC2 provider added them with the name "unsupported".
func RemoveVotingMachineIds ¶
RemoveVotingMachineIds ensures that the 'votingmachineids' field on controller info has been removed
func RenameAddModelPermission ¶
RenameAddModelPermission renames any permissions called addmodel to add-model.
func ReplaceNeverSetWithUnset ¶
ReplaceNeverSetWithUnset in the status documents.
func ReplacePortsDocSubnetIDCIDR ¶
ReplacePortsDocSubnetIDCIDR ensures that every ports document use an ID rather than a CIDR for subnetID.
func ReplaceSpaceNameWithIDEndpointBindings ¶
ReplaceSpaceNameWithIDEndpointBindings replaces space names with space ids for endpoint bindings.
func ReplicaSetMembers ¶
func ReplicaSetMembers(pool *StatePool) ([]replicaset.Member, error)
ReplicaSetMembers gets the members of the current Mongo replica set. These are needed to bootstrap the raft cluster in an upgrade and using MongoSession directly from an upgrade steps would make testing difficult.
func ResetDefaultRelationLimitInCharmMetadata ¶
ResetDefaultRelationLimitInCharmMetadata patches the persisted charm metadata so that the limit attribute for each relation requirer/peer endpoint is set to 0. The "provides" endpoints are left as-is.
The charm metadata parser used in juju 2.7 (and before) would inject a limit of 1 for each endpoint in the charm metadata (for requirer/peer relations) when no limit was specified. The limit was ignored prior to juju 2.8 so this upgrade step allows us to reset the limit to prevent errors when attempting to add new relations.
Fixes LP1887095.
func RollUpAndConvertOpenedPortDocuments ¶
RollUpAndConvertOpenedPortDocuments replaces pre-2.9 per-machine, per-subnet opened port documents with a single document that references port ranges by endpoint names.
This upgrade step exploits the fact that pre-2.9 controllers open ports in all subnets. As a result, the opened ports collection will always contain a single document with an empty subnet ID to indicate that the port ranges apply to all subnets.
func SetEnableDiskUUIDOnVsphere ¶
SetEnableDiskUUIDOnVsphere updates the settings for all vsphere models to have enable-disk-uuid=false. The new default is true, but this maintains the previous behaviour for upgraded models.
func SplitLogCollections ¶
SplitLogCollections moves log entries from the old single log collection to the log collection per model.
func StripLocalUserDomain ¶
StripLocalUserDomain removes any @local suffix from any relevant document field values.
func TagFromDocID ¶
TagFromDocID tries attempts to extract an entity-identifying tag from a Mongo document ID. For example "c9741ea1-0c2a-444d-82f5-787583a48557:a#mediawiki" would yield an application tag for "mediawiki"
func UpdateInheritedControllerConfig ¶
UpdateInheritedControllerConfig migrates the existing global settings doc keyed on "controller" to be keyed on the cloud name.
func UpdateK8sModelNameIndex ¶
UpdateK8sModelNameIndex migrates k8s model indices to be based on the model owner rather than the cloud name.
func UpdateKubernetesStorageConfig ¶
UpdateKubernetesStorageConfig sets default storage classes for operator and workload storage.
func UpdateLegacyLXDCloudCredentials ¶
func UpdateLegacyLXDCloudCredentials( st *State, endpoint string, credential cloud.Credential, ) error
UpdateLegacyLXDCloudCredentials updates the cloud credentials for the LXD-based controller, and updates the cloud endpoint with the given value.
func UpgradeContainerImageStreamDefault ¶
UpgradeDefaultContainerImageStreamConfig ensures that the config value for container-image-stream is set to its default value, "released".
func UpgradeNoProxyDefaults ¶
UpgradeNoProxyDefaults changes the default values of no_proxy to hold localhost values as defaults.
Types ¶
type Action ¶
type Action interface { Entity // Id returns the local id of the Action. Id() string // Receiver returns the Name of the ActionReceiver for which this action // is enqueued. Usually this is a Unit Name(). Receiver() string // Name returns the name of the action, as defined in the charm. Name() string // Parameters will contain a structure representing arguments or parameters to // an action, and is expected to be validated by the Unit using the Charm // definition of the Action. Parameters() map[string]interface{} // Enqueued returns the time the action was added to state as a pending // Action. Enqueued() time.Time // Started returns the time that the Action execution began. Started() time.Time // Completed returns the completion time of the Action. Completed() time.Time // Status returns the final state of the action. Status() ActionStatus // Results returns the structured output of the action and any error. Results() (map[string]interface{}, string) // ActionTag returns an ActionTag constructed from this action's // Prefix and Sequence. ActionTag() names.ActionTag // Begin marks an action as running, and logs the time it was started. // It asserts that the action is currently pending. Begin() (Action, error) // Finish removes action from the pending queue and captures the output // and end state of the action. Finish(results ActionResults) (Action, error) // Log adds message to the action's progress message array. Log(message string) error // Messages returns the action's progress messages. Messages() []ActionMessage // Cancel or Abort the action. Cancel() (Action, error) // Refresh the contents of the action. Refresh() error }
Action represents an instance of an action designated for a unit or machine in the model.
type ActionMessage ¶
type ActionMessage struct { MessageValue string `bson:"message"` TimestampValue time.Time `bson:"timestamp"` }
ActionMessage represents a progress message logged by an action.
func (ActionMessage) Message ¶
func (m ActionMessage) Message() string
Message returns the message string.
func (ActionMessage) Timestamp ¶
func (m ActionMessage) Timestamp() time.Time
Timestamp returns the message timestamp.
type ActionReceiver ¶
type ActionReceiver interface { Entity // AddAction queues an action belonging to the specified operation, // with the given name and payload for this ActionReceiver. AddAction(operationID, name string, payload map[string]interface{}) (Action, error) // CancelAction removes a pending Action from the queue for this // ActionReceiver and marks it as cancelled. CancelAction(action Action) (Action, error) // WatchActionNotifications returns a StringsWatcher that will notify // on changes to the queued actions for this ActionReceiver. WatchActionNotifications() StringsWatcher // WatchPendingActionNotifications returns a StringsWatcher that will notify // on pending queued actions for this ActionReceiver. WatchPendingActionNotifications() StringsWatcher // Actions returns the list of Actions queued and completed for this // ActionReceiver. Actions() ([]Action, error) // CompletedActions returns the list of Actions completed for this // ActionReceiver. CompletedActions() ([]Action, error) // PendingActions returns the list of Actions queued for this // ActionReceiver. PendingActions() ([]Action, error) // RunningActions returns the list of Actions currently running for // this ActionReceiver. RunningActions() ([]Action, error) }
ActionReceiver describes Entities that can have Actions queued for them, and that can get ActionRelated information about those actions. TODO(jcw4) consider implementing separate Actor classes for this interface; for example UnitActor that implements this interface, and takes a Unit and performs all these actions.
type ActionResults ¶
type ActionResults struct { Status ActionStatus `json:"status"` Results map[string]interface{} `json:"results"` Message string `json:"message"` }
ActionResults is a data transfer object that holds the key Action output and results information.
type ActionSpecsByName ¶
type ActionSpecsByName map[string]charm.ActionSpec
ActionSpecsByName is a map of action names to their respective ActionSpec.
type ActionStatus ¶
type ActionStatus string
ActionStatus represents the possible end states for an action.
const ( // ActionFailed signifies that the action did not complete successfully. ActionFailed ActionStatus = "failed" // ActionCompleted indicates that the action ran to completion as intended. ActionCompleted ActionStatus = "completed" // ActionCancelled means that the Action was cancelled before being run. ActionCancelled ActionStatus = "cancelled" // ActionPending is the default status when an Action is first queued. ActionPending ActionStatus = "pending" // ActionRunning indicates that the Action is currently running. ActionRunning ActionStatus = "running" // ActionAborting indicates that the Action is running but should be // aborted. ActionAborting ActionStatus = "aborting" // ActionAborted indicates the Action was aborted. ActionAborted ActionStatus = "aborted" )
type ActionsWatcher ¶
type ActionsWatcher interface { Entity WatchActionNotifications() StringsWatcher WatchPendingActionNotifications() StringsWatcher }
ActionsWatcher defines the methods an entity exposes to watch Actions queued up for itself
type AddApplicationArgs ¶
type AddApplicationArgs struct { Name string Series string Charm *Charm CharmOrigin *CharmOrigin Channel csparams.Channel Storage map[string]StorageConstraints Devices map[string]DeviceConstraints AttachStorage []names.StorageTag EndpointBindings map[string]string ApplicationConfig *application.Config CharmConfig charm.Settings NumUnits int Placement []*instance.Placement Constraints constraints.Value Resources map[string]string }
type AddOfferConnectionParams ¶
type AddOfferConnectionParams struct { // SourceModelUUID is the UUID of the consuming model. SourceModelUUID string // OfferUUID is the UUID of the offer. OfferUUID string // Username is the name of the user who created this connection. Username string // RelationId is the id of the relation to which this offer pertains. RelationId int // RelationKey is the key of the relation to which this offer pertains. RelationKey string }
AddOfferConnectionParams contains the parameters for adding an offer connection to the model.
type AddRemoteApplicationParams ¶
type AddRemoteApplicationParams struct { // Name is the name to give the remote application. This does not have to // match the application name in the URL, or the name in the remote model. Name string // OfferUUID is the UUID of the offer. OfferUUID string // URL is either empty, or the URL that the remote application was offered // with on the hosting model. URL string // SourceModel is the tag of the model to which the remote application belongs. SourceModel names.ModelTag // Token is an opaque string that identifies the remote application in the // source model. Token string // Endpoints describes the endpoints that the remote application implements. Endpoints []charm.Relation // Spaces describes the network spaces that the remote // application's endpoints inhabit in the remote model. Spaces []*environs.ProviderSpaceInfo // Bindings maps each endpoint name to the remote space it is bound to. Bindings map[string]string // IsConsumerProxy is true when a remote application is created as a result // of a registration operation from a remote model. IsConsumerProxy bool // Macaroon is used for authentication on the offering side. Macaroon *macaroon.Macaroon }
AddRemoteApplicationParams contains the parameters for adding a remote application to the model.
func (AddRemoteApplicationParams) Validate ¶
func (p AddRemoteApplicationParams) Validate() error
Validate returns an error if there's a problem with the parameters being used to create a remote application.
type AddUnitOperation ¶
type AddUnitOperation struct {
// contains filtered or unexported fields
}
AddUnitOperation is a model operation that will add a unit.
func (*AddUnitOperation) Build ¶
func (op *AddUnitOperation) Build(attempt int) ([]txn.Op, error)
Build is part of the ModelOperation interface.
func (*AddUnitOperation) Done ¶
func (op *AddUnitOperation) Done(err error) error
Done is part of the ModelOperation interface.
type AddUnitParams ¶
type AddUnitParams struct { // AttachStorage identifies storage instances to attach to the unit. AttachStorage []names.StorageTag // ProviderId identifies the unit for a given provider. ProviderId *string // Address is the container address. Address *string // Ports are the open ports on the container. Ports *[]string // UnitName is for CAAS models when creating stateful units. UnitName *string // contains filtered or unexported fields }
AddUnitParams contains parameters for the Application.AddUnit method.
type Address ¶
type Address struct {
// contains filtered or unexported fields
}
Address represents the state of an IP address assigned to a link-layer network device on a machine.
func (*Address) ConfigMethod ¶
func (addr *Address) ConfigMethod() network.AddressConfigMethod
ConfigMethod returns the AddressConfigMethod used for this IP address.
func (*Address) DNSSearchDomains ¶
DNSSearchDomains returns the list of DNS domains to use for qualifying hostnames. Can be empty.
func (*Address) DNSServers ¶
DNSServers returns the list of DNS nameservers to use, which can be empty.
func (*Address) Device ¶
func (addr *Address) Device() (*LinkLayerDevice, error)
Device returns the LinkLayerDevice this IP address is assigned to.
func (*Address) DeviceName ¶
DeviceName returns the name of the link-layer device this IP address is assigned to.
func (*Address) DocID ¶
DocID returns the globally unique ID of the IP address, including the model UUID as prefix.
func (*Address) GatewayAddress ¶
GatewayAddress returns the gateway address to use, which can be empty.
func (*Address) IsDefaultGateway ¶
IsDefaultGateway returns true if this address is used for the default gateway on the machine.
func (*Address) IsShadow ¶
IsShadow indicates whether this address is virtual/floating/shadow address. In cross-model relations, we may want to return this address for a device if its non-shadow address is bound to a cloud-local subnet.
func (*Address) LoopbackConfigMethod ¶
LoopbackConfigMethod returns whether AddressConfigMethod used for this IP address was loopback.
func (*Address) NetworkAddress ¶
func (addr *Address) NetworkAddress() network.SpaceAddress
NetworkAddress returns the address transformed to a network.Address.
func (*Address) Origin ¶
Origin represents the authoritative source of the ipAddress. it is set using precedence, with "provider" overriding "machine". It is used to determine whether the address is no longer recognised and is safe to remove.
func (*Address) ProviderID ¶
ProviderID returns the provider-specific IP address ID, if set.
func (*Address) ProviderNetworkID ¶
ProviderNetworkID returns the provider-specific network ID, if set.
func (*Address) ProviderSubnetID ¶
ProviderSubnetID returns the provider-specific subnet ID, if set.
func (*Address) Remove ¶
Remove removes the IP address if it exists. No error is returned if the address was already removed.
func (*Address) RemoveOps ¶
RemoveOps returns transaction operations that will ensure that the address is not present in the collection and that if set, its provider ID is removed from the global register.
func (*Address) SetOriginOps ¶
SetOriginOps returns the transaction operations required to set the input origin for the the address. If the address has a provider ID and origin is changing from provider to machine, remove the ID from the address document and the global collection.
func (*Address) SetProviderIDOps ¶
SetProviderIDOps returns the transaction operations required to update the address with the input provider ID. Setting the provider ID updates the address origin to provider.
func (*Address) SetProviderNetIDsOps ¶
SetProviderNetIDsOps returns the transaction operations required to ensure that the input provider IDs are set against the address. This is distinct from SetProviderIDOps above, because we assume that the uniqueness of the IDs has already been established and that they are recorded in the global collection.
func (*Address) Subnet ¶
Subnet returns the Subnet this IP address comes from. Returns nil and errors.NotFoundError if the address comes from an unknown subnet (i.e. machine-local one).
func (*Address) SubnetCIDR ¶
SubnetCIDR returns the CIDR of the subnet this IP address comes from.
type AgentEntity ¶
type AgentEntity interface { Entity Lifer Authenticator AgentTooler status.StatusSetter EnsureDeader Remover NotifyWatcherFactory }
AgentEntity represents an entity that can have an agent responsible for it.
type AgentLiving ¶
AgentLiving describes state entities with a lifecycle and an agent that manages it.
type AgentTooler ¶
type AgentTooler interface { AgentTools() (*tools.Tools, error) SetAgentVersion(version.Binary) error }
AgentTooler is implemented by entities that have associated agent tools.
type AllWatcherBacking ¶
type AllWatcherBacking interface { // GetAll retrieves information about all information // known to the Backing and stashes it in the Store. GetAll(multiwatcher.Store) error // Changed informs the backing about a change received // from a watcher channel. The backing is responsible for // updating the Store to reflect the change. Changed(multiwatcher.Store, watcher.Change) error // Watch watches for any changes and sends them // on the given channel. Watch(chan<- watcher.Change) // Unwatch stops watching for changes on the // given channel. Unwatch(chan<- watcher.Change) }
AllWatcherBacking is the interface required by the multiwatcher to access the underlying state.
func NewAllWatcherBacking ¶
func NewAllWatcherBacking(pool *StatePool) AllWatcherBacking
NewAllWatcherBacking creates a backing object that watches all the models in the controller for changes that are fed through the multiwatcher infrastructure.
type Application ¶
type Application struct {
// contains filtered or unexported fields
}
Application represents the state of an application.
func (*Application) AddOperation ¶
func (a *Application) AddOperation(props UnitUpdateProperties) *AddUnitOperation
AddOperation returns a model operation that will add a unit.
func (*Application) AddUnit ¶
func (a *Application) AddUnit(args AddUnitParams) (unit *Unit, err error)
AddUnit adds a new principal unit to the application.
func (*Application) AgentTools ¶
func (a *Application) AgentTools() (*tools.Tools, error)
AgentTools returns the tools that the operator is currently running. It an error that satisfies errors.IsNotFound if the tools have not yet been set.
func (*Application) AllUnits ¶
func (a *Application) AllUnits() (units []*Unit, err error)
AllUnits returns all units of the application.
func (*Application) ApplicationConfig ¶
func (a *Application) ApplicationConfig() (application.ConfigAttributes, error)
ApplicationConfig returns the configuration for the application itself.
func (*Application) ApplicationTag ¶
func (a *Application) ApplicationTag() names.ApplicationTag
ApplicationTag returns the more specific ApplicationTag rather than the generic Tag.
func (*Application) ChangeScale ¶
func (a *Application) ChangeScale(scaleChange int) (int, error)
ChangeScale alters the existing scale by the provided change amount, returning the new amount. This is used on CAAS models.
func (*Application) Channel ¶
func (a *Application) Channel() csparams.Channel
Channel identifies the charm store channel from which the application's charm was deployed. It is only needed when interacting with the charm store.
func (*Application) Charm ¶
func (a *Application) Charm() (ch *Charm, force bool, err error)
Charm returns the application's charm and whether units should upgrade to that charm even if they are in an error state.
func (*Application) CharmConfig ¶
func (a *Application) CharmConfig(branchName string) (charm.Settings, error)
CharmConfig returns the raw user configuration for the application's charm.
func (*Application) CharmModifiedVersion ¶
func (a *Application) CharmModifiedVersion() int
CharmModifiedVersion increases whenever the application's charm is changed in any way.
func (*Application) CharmOrigin ¶
func (a *Application) CharmOrigin() *CharmOrigin
CharmOrigin returns the origin of a charm associated with a application.
func (*Application) CharmURL ¶
func (a *Application) CharmURL() (curl *charm.URL, force bool)
CharmURL returns the application's charm URL, and whether units should upgrade to the charm with that URL even if they are in an error state.
func (*Application) ClearExposed ¶
func (a *Application) ClearExposed() error
ClearExposed removes the exposed flag from the application. See MergeExposeSettings and IsExposed.
func (*Application) ClearResources ¶
func (a *Application) ClearResources() error
ClearResources sets the application's pending resouces to false. This is used on CAAS models.
func (*Application) Constraints ¶
func (a *Application) Constraints() (constraints.Value, error)
Constraints returns the current application constraints.
func (*Application) DeployedMachines ¶
func (a *Application) DeployedMachines() ([]*Machine, error)
Deployed machines returns the collection of machines that this application has units deployed to.
func (*Application) Destroy ¶
func (a *Application) Destroy() (err error)
Destroy ensures that the application and all its relations will be removed at some point; if the application has no units, and no relation involving the application has any units in scope, they are all removed immediately.
func (*Application) DestroyOperation ¶
func (a *Application) DestroyOperation() *DestroyApplicationOperation
DestroyOperation returns a model operation that will destroy the application.
func (*Application) DeviceConstraints ¶
func (a *Application) DeviceConstraints() (map[string]DeviceConstraints, error)
DeviceConstraints returns the device constraints for the application.
func (*Application) Endpoint ¶
func (a *Application) Endpoint(relationName string) (Endpoint, error)
Endpoint returns the relation endpoint with the supplied name, if it exists.
func (*Application) EndpointBindings ¶
func (a *Application) EndpointBindings() (*Bindings, error)
EndpointBindings returns the mapping for each endpoint name and the space ID it is bound to (or empty if unspecified). When no bindings are stored for the application, defaults are returned.
func (*Application) Endpoints ¶
func (a *Application) Endpoints() (eps []Endpoint, err error)
Endpoints returns the application's currently available relation endpoints.
func (*Application) EnsureMinUnits ¶
func (a *Application) EnsureMinUnits() (err error)
EnsureMinUnits adds new units if the application's MinUnits value is greater than the number of alive units.
func (*Application) ExposedEndpoints ¶
func (a *Application) ExposedEndpoints() map[string]ExposedEndpoint
ExposedEndpoints returns a map where keys are endpoint names (or the "" value which represents all endpoints) and values are ExposedEndpoint instances that specify which sources (spaces or CIDRs) can access the opened ports for each endpoint once the application is exposed.
func (*Application) GetPlacement ¶
func (a *Application) GetPlacement() string
GetPlacement returns the application's placement directive. This is used on CAAS models.
func (*Application) GetScale ¶
func (a *Application) GetScale() int
GetScale returns the application's desired scale value. This is used on CAAS models.
func (*Application) IsExposed ¶
func (a *Application) IsExposed() bool
IsExposed returns whether this application is exposed. The explicitly open ports (with open-port) for exposed applications may be accessed from machines outside of the local deployment network. See MergeExposeSettings and ClearExposed.
func (*Application) IsPrincipal ¶
func (a *Application) IsPrincipal() bool
IsPrincipal returns whether units of the application can have subordinate units.
func (*Application) IsRemote ¶
func (a *Application) IsRemote() bool
IsRemote returns false for a local application.
func (*Application) LeaderSettings ¶
func (a *Application) LeaderSettings() (map[string]string, error)
LeaderSettings returns a application's leader settings. If nothing has been set yet, it will return an empty map; this is not an error.
func (*Application) Life ¶
func (a *Application) Life() Life
Life returns whether the application is Alive, Dying or Dead.
func (*Application) MergeBindings ¶
func (a *Application) MergeBindings(operatorBindings *Bindings, force bool) error
MergeBindings merges the provided bindings map with the existing application bindings.
func (*Application) MergeExposeSettings ¶
func (a *Application) MergeExposeSettings(exposedEndpoints map[string]ExposedEndpoint) error
MergeExposeSettings marks the application as exposed and merges the provided ExposedEndpoint details into the current set of expose settings. The merge operation will overwrites expose settings for each existing endpoint name.
See ClearExposed and IsExposed.
func (*Application) MetricCredentials ¶
func (a *Application) MetricCredentials() []byte
MetricCredentials returns any metric credentials associated with this application.
func (*Application) MinUnits ¶
func (a *Application) MinUnits() int
MinUnits returns the minimum units count for the application.
func (*Application) PasswordValid ¶
func (a *Application) PasswordValid(password string) bool
PasswordValid returns whether the given password is valid for the given application.
func (*Application) Refresh ¶
func (a *Application) Refresh() error
Refresh refreshes the contents of the Application from the underlying state. It returns an error that satisfies errors.IsNotFound if the application has been removed.
func (*Application) RelationCount ¶
func (a *Application) RelationCount() int
RelationCount returns the of number of active relations for this application.
func (*Application) Relations ¶
func (a *Application) Relations() (relations []*Relation, err error)
Relations returns a Relation for every relation the application is in.
func (*Application) Series ¶
func (a *Application) Series() string
Series returns the specified series for this charm.
func (*Application) ServiceInfo ¶
func (a *Application) ServiceInfo() (CloudServicer, error)
ServiceInfo returns information about this application's cloud service. This is only used for CAAS models.
func (*Application) SetAgentVersion ¶
func (a *Application) SetAgentVersion(v version.Binary) (err error)
SetAgentVersion sets the Tools value in applicationDoc.
func (*Application) SetCharm ¶
func (a *Application) SetCharm(cfg SetCharmConfig) (err error)
SetCharm changes the charm for the application.
func (*Application) SetConstraints ¶
func (a *Application) SetConstraints(cons constraints.Value) (err error)
SetConstraints replaces the current application constraints.
func (*Application) SetMetricCredentials ¶
func (a *Application) SetMetricCredentials(b []byte) error
SetMetricCredentials updates the metric credentials associated with this application.
func (*Application) SetMinUnits ¶
func (a *Application) SetMinUnits(minUnits int) (err error)
SetMinUnits changes the number of minimum units required by the application.
func (*Application) SetOperatorStatus ¶
func (a *Application) SetOperatorStatus(sInfo status.StatusInfo) error
SetOperatorStatus sets the operator status for an application. This is used on CAAS models.
func (*Application) SetPassword ¶
func (a *Application) SetPassword(password string) error
SetPassword sets the password for the application's agent. TODO(caas) - consider a separate CAAS application entity
func (*Application) SetScale ¶
func (a *Application) SetScale(scale int, generation int64, force bool) error
SetScale sets the application's desired scale value. This is used on CAAS models.
func (*Application) SetStatus ¶
func (a *Application) SetStatus(statusInfo status.StatusInfo) error
SetStatus sets the status for the application.
func (*Application) Status ¶
func (a *Application) Status() (status.StatusInfo, error)
Status returns the status of the application. Only unit leaders are allowed to set the status of the application. If no status is recorded, then there are no unit leaders and the status is derived from the unit status values.
func (*Application) StatusHistory ¶
func (a *Application) StatusHistory(filter status.StatusHistoryFilter) ([]status.StatusInfo, error)
StatusHistory returns a slice of at most filter.Size StatusInfo items or items as old as filter.Date or items newer than now - filter.Delta time representing past statuses for this application.
func (*Application) StorageConstraints ¶
func (a *Application) StorageConstraints() (map[string]StorageConstraints, error)
StorageConstraints returns the storage constraints for the application.
func (*Application) String ¶
func (a *Application) String() string
String returns the application name.
func (*Application) Tag ¶
func (a *Application) Tag() names.Tag
Tag returns a name identifying the application. The returned name will be different from other Tag values returned by any other entities from the same state.
func (*Application) UnitCount ¶
func (a *Application) UnitCount() int
UnitCount returns the of number of units for this application.
func (*Application) UnitNames ¶
func (a *Application) UnitNames() ([]string, error)
UnitNames returns the of this application's units.
func (*Application) UnitStatuses ¶
func (a *Application) UnitStatuses() (map[string]status.StatusInfo, error)
UnitStatuses returns a map of unit names to their Status results (workload status).
func (*Application) UnsetExposeSettings ¶
func (a *Application) UnsetExposeSettings(exposedEndpoints []string) error
UnsetExposeSettings removes the expose settings for the provided list of endpoint names. If the resulting exposed endpoints map for the application becomes empty after the settings are removed, the application will be automatically unexposed.
An error will be returned if an unknown endpoint name is specified or there is no existing expose settings entry for any of the provided endpoint names.
See ClearExposed and IsExposed.
func (*Application) UpdateApplicationConfig ¶
func (a *Application) UpdateApplicationConfig( changes application.ConfigAttributes, reset []string, schema environschema.Fields, defaults schema.Defaults, ) error
UpdateApplicationConfig changes an application's config settings. Unknown and invalid values will return an error.
func (*Application) UpdateApplicationSeries ¶
func (a *Application) UpdateApplicationSeries(series string, force bool) (err error)
UpdateApplicationSeries updates the series for the Application.
func (*Application) UpdateCharmConfig ¶
func (a *Application) UpdateCharmConfig(branchName string, changes charm.Settings) error
UpdateCharmConfig changes a application's charm config settings. Values set to nil will be deleted; unknown and invalid values will return an error.
func (*Application) UpdateCloudService ¶
func (a *Application) UpdateCloudService(providerId string, addresses []network.SpaceAddress) error
UpdateCloudService updates the cloud service details for the application.
func (*Application) UpdateLeaderSettings ¶
func (a *Application) UpdateLeaderSettings(token leadership.Token, updates map[string]string) error
UpdateLeaderSettings updates the application's leader settings with the supplied values, but will fail (with a suitable error) if the supplied Token loses validity. Empty values in the supplied map will be cleared in the database.
func (*Application) UpdateUnits ¶
func (a *Application) UpdateUnits(unitsOp *UpdateUnitsOperation) error
UpdateUnits applies the given application unit update operations.
func (*Application) VerifySupportedSeries ¶
func (a *Application) VerifySupportedSeries(series string, force bool) error
VerifySupportedSeries verifies if the given series is supported by the application.
func (*Application) Watch ¶
func (a *Application) Watch() NotifyWatcher
Watch returns a watcher for observing changes to an application.
func (*Application) WatchCharmConfig ¶
func (a *Application) WatchCharmConfig() (NotifyWatcher, error)
WatchCharmConfig returns a watcher for observing changes to the application's charm configuration settings. The returned watcher will be valid only while the application's charm URL is not changed.
func (*Application) WatchLeaderSettings ¶
func (a *Application) WatchLeaderSettings() NotifyWatcher
WatchLeaderSettings returns a watcher for observing changed to an application's leader settings.
func (*Application) WatchRelations ¶
func (a *Application) WatchRelations() StringsWatcher
WatchRelations returns a StringsWatcher that notifies of changes to the lifecycles of relations involving a.
func (*Application) WatchScale ¶
func (a *Application) WatchScale() NotifyWatcher
WatchScale returns a new NotifyWatcher watching for changes to the specified application's scale value.
func (*Application) WatchServiceAddressesHash ¶
func (a *Application) WatchServiceAddressesHash() StringsWatcher
WatchServiceAddressesHash returns a StringsWatcher that emits a hash of the unit's container address whenever it changes.
func (*Application) WatchUnits ¶
func (a *Application) WatchUnits() StringsWatcher
WatchUnits returns a StringsWatcher that notifies of changes to the lifecycles of units of a.
type ApplicationDescription ¶
type ApplicationDescription interface {
Offers() []description.ApplicationOffer
}
ApplicationDescription is an in-place description of an application
type ApplicationEntity ¶
type ApplicationEntity interface { status.StatusGetter // Life returns the life status of the application. Life() Life // IsRemote returns true if the application is remote (hosted in a different model). IsRemote() bool // Endpoints returns the application's currently available relation endpoints. Endpoints() ([]Endpoint, error) // Endpoint returns the relation endpoint with the supplied name, if it exists. Endpoint(relationName string) (Endpoint, error) // Relations returns a Relation for every relation the application is in. Relations() (relations []*Relation, err error) }
ApplicationEntity represents a local or remote application.
type ApplicationOfferDescription ¶
type ApplicationOfferDescription interface {
Offers() []description.ApplicationOffer
}
ApplicationOfferDescription defines an in-place usage for reading application offers.
type ApplicationOfferInput ¶
type ApplicationOfferInput interface { DocModelNamespace ApplicationOfferStateDocumentFactory ApplicationOfferDescription }
ApplicationOfferInput describes the input used for migrating application offers.
type ApplicationOfferStateDocumentFactory ¶
type ApplicationOfferStateDocumentFactory interface { MakeApplicationOfferDoc(description.ApplicationOffer) (applicationOfferDoc, error) MakeIncApplicationOffersRefOp(string) (txn.Op, error) }
ApplicationOfferStateDocumentFactory creates documents that are useful with in the state package. In essence this just allows us to model our dependencies correctly without having to construct dependencies everywhere. Note: we need public methods here because gomock doesn't mock private methods
type AssignmentPolicy ¶
type AssignmentPolicy string
AssignmentPolicy controls what machine a unit will be assigned to.
const ( // AssignLocal indicates that all application units should be assigned // to machine 0. AssignLocal AssignmentPolicy = "local" // AssignClean indicates that every application unit should be assigned // to a machine which never previously has hosted any units, and that // new machines should be launched if required. AssignClean AssignmentPolicy = "clean" // AssignCleanEmpty indicates that every application unit should be assigned // to a machine which never previously has hosted any units, and which is not // currently hosting any containers, and that new machines should be launched if required. AssignCleanEmpty AssignmentPolicy = "clean-empty" // AssignNew indicates that every application unit should be assigned to a new // dedicated machine. A new machine will be launched for each new unit. AssignNew AssignmentPolicy = "new" )
type Authenticator ¶
type Authenticator interface { Refresh() error SetPassword(pass string) error PasswordValid(pass string) bool }
Authenticator represents entites capable of handling password authentication.
type BatchParam ¶
type BatchParam struct { UUID string CharmURL string Created time.Time Metrics []Metric Unit names.UnitTag }
BatchParam contains the properties of the metrics batch used when creating a metrics batch.
type Bindings ¶
type Bindings struct {
// contains filtered or unexported fields
}
Bindings are EndpointBindings.
func NewBindings ¶
func NewBindings(st EndpointBinding, givenMap map[string]string) (*Bindings, error)
NewBindings returns a bindings guaranteed to be in space id format.
func (Bindings) GetBSON ¶
func (b Bindings) GetBSON() (interface{}, error)
GetBSON ensures any special characters ($ or .) are escaped in keys before marshalling the map into BSON and storing in mongo.
func (*Bindings) MapWithSpaceNames ¶
MapWithSpaceNames returns the current bindingMap with space names rather than ids.
func (*Bindings) Merge ¶
Merge the default bindings based on the given charm metadata with the current bindings, overriding with mergeWith values (for the same keys). Current values and mergeWith are both optional and will ignored when empty. The current object contains the combined finalized bindings. Returns true/false if there are any actual differences.
type Block ¶
type Block interface { // Id returns this block's id. Id() string // ModelUUID returns the model UUID associated with this block. ModelUUID() string // Tag returns tag for the entity that is being blocked Tag() (names.Tag, error) // Type returns block type Type() BlockType // Message returns explanation that accompanies this block. Message() string // contains filtered or unexported methods }
Customers and stakeholders want to be able to prevent accidental damage to their Juju deployments. To prevent running some operations, we want to have blocks that can be switched on/off.
type BlockDevice ¶
type BlockDevice interface { // Machine returns the ID of the machine the block device is attached to. Machine() string // Info returns the block device's BlockDeviceInfo. Info() BlockDeviceInfo }
BlockDevice represents the state of a block device in the model.
type BlockDeviceInfo ¶
type BlockDeviceInfo struct { DeviceName string `bson:"devicename"` DeviceLinks []string `bson:"devicelinks,omitempty"` Label string `bson:"label,omitempty"` UUID string `bson:"uuid,omitempty"` HardwareId string `bson:"hardwareid,omitempty"` WWN string `bson:"wwn,omitempty"` BusAddress string `bson:"busaddress,omitempty"` Size uint64 `bson:"size"` FilesystemType string `bson:"fstype,omitempty"` InUse bool `bson:"inuse"` MountPoint string `bson:"mountpoint,omitempty"` SerialId string `bson:"serialid,omitempty"` }
BlockDeviceInfo describes information about a block device.
type BlockType ¶
type BlockType int8
BlockType specifies block type for enum benefit.
const ( // DestroyBlock type identifies block that prevents model destruction. DestroyBlock BlockType = iota // RemoveBlock type identifies block that prevents // removal of machines, applications, units or relations. RemoveBlock // ChangeBlock type identifies block that prevents model changes such // as additions, modifications, removals of model entities. ChangeBlock )
func ParseBlockType ¶
ParseBlockType returns BlockType from humanly readable type representation.
func (BlockType) MigrationValue ¶
MigrationValue converts the block type value into a useful human readable string for model migration.
type CAASModel ¶
type CAASModel struct { // TODO(caas) - this is all still messy until things shake out. *Model // contains filtered or unexported fields }
CAASModel contains functionality that is specific to an Containers-As-A-Service (CAAS) model. It embeds a Model so that all generic Model functionality is also available.
func (*CAASModel) Containers ¶
func (m *CAASModel) Containers(providerIds ...string) ([]CloudContainer, error)
Containers returns the containers for the specified provider ids.
func (*CAASModel) PodSpec ¶
func (m *CAASModel) PodSpec(appTag names.ApplicationTag) (string, error)
PodSpec returns the pod spec for the given application tag.
func (*CAASModel) RawK8sSpec ¶
func (m *CAASModel) RawK8sSpec(appTag names.ApplicationTag) (string, error)
RawK8sSpec returns the raw k8s spec for the given application tag.
func (*CAASModel) SetPodSpec ¶
func (m *CAASModel) SetPodSpec(token leadership.Token, appTag names.ApplicationTag, spec *string) error
SetPodSpec sets the pod spec for the given application tag while making sure that the caller is the leader by validating the provided token. For cases where leadership checks are not important (e.g. migrations), a nil Token can be provided to bypass the leadership checks.
An error will be returned if the specified application is not alive or the leadership check fails.
func (*CAASModel) SetPodSpecOperation ¶
func (m *CAASModel) SetPodSpecOperation(token leadership.Token, appTag names.ApplicationTag, spec *string) ModelOperation
SetPodSpecOperation returns a ModelOperation for updating a PodSpec. For cases where leadership checks are not important (e.g. migrations), a nil Token can be provided to bypass the leadership checks.
func (*CAASModel) SetRawK8sSpecOperation ¶
func (m *CAASModel) SetRawK8sSpecOperation(token leadership.Token, appTag names.ApplicationTag, spec *string) ModelOperation
SetRawK8sSpecOperation returns a ModelOperation for updating a raw k8s spec. For cases where leadership checks are not important (e.g. migrations), a nil Token can be provided to bypass the leadership checks.
func (*CAASModel) WatchPodSpec ¶
func (m *CAASModel) WatchPodSpec(appTag names.ApplicationTag) (NotifyWatcher, error)
WatchPodSpec returns a watcher observing changes that affect the pod spec for an application or unit.
type Change ¶
type Change interface { // Prepare ensures that db is in a valid base state for applying // the change, and returns mgo/txn operations that will fail any // enclosing transaction if the state has materially changed; or // returns an error. Prepare(db Database) ([]txn.Op, error) }
Change represents any mgo/txn-representable change to a Database.
type Channel ¶
type Channel struct { Track string `bson:"track,omitempty"` Risk string `bson:"risk"` Branch string `bson:"branch,omitempty"` }
Channel identifies and describes completely a store channel. TODO (stickupkid): Add architecture.
type Charm ¶
type Charm struct {
// contains filtered or unexported fields
}
Charm represents the state of a charm in the model.
func (*Charm) BundleSha256 ¶
BundleSha256 returns the SHA256 digest of the charm bundle bytes.
func (*Charm) Destroy ¶
Destroy sets the charm to Dying and prevents it from being used by applications or units. It only works on local charms, and only when the charm is not referenced by any application.
func (*Charm) IsPlaceholder ¶
IsPlaceholder returns whether the charm record is just a placeholder rather than representing a deployed charm.
func (*Charm) IsUploaded ¶
IsUploaded returns whether the charm has been uploaded to the model storage.
func (*Charm) LXDProfile ¶
func (c *Charm) LXDProfile() *LXDProfile
LXDProfile returns the lxd profile definition of the charm.
func (*Charm) Macaroon ¶
Macaroon return the macaroon that can be used to request data about the charm from the charmstore, or nil if the charm is not private.
func (*Charm) Refresh ¶
Refresh loads fresh charm data from the database. In practice, the only observable change should be to its Life value.
func (*Charm) Remove ¶
Remove will delete the charm's stored archive and render the charm inaccessible to future clients. It will fail unless the charm is already Dying (indicating that someone has called Destroy).
func (*Charm) StoragePath ¶
StoragePath returns the storage path of the charm bundle.
func (*Charm) Tag ¶
Tag returns a tag identifying the charm. Implementing state.GlobalEntity interface.
func (*Charm) UpdateMacaroon ¶
UpdateMacaroon updates the stored macaroon for this charm.
type CharmInfo ¶
type CharmInfo struct { Charm charm.Charm ID *charm.URL StoragePath string SHA256 string Macaroon macaroon.Slice Version string }
CharmInfo contains all the data necessary to store a charm's metadata.
type CharmOrigin ¶
type CharmOrigin struct { Source string `bson:"source"` ID string `bson:"id"` Hash string `bson:"hash"` Revision *int `bson:"revision,omitempty"` Channel *Channel `bson:"channel,omitempty"` }
CharmOrigin holds the original source of a charm. Information about where the charm was installed from (charm-hub, charm-store, local) and any additional information we can utilise when making modelling decisions for upgrading or changing.
type CloudAccessor ¶
type CloudAccessor interface { Cloud(cloud string) (cloud.Cloud, error) Clouds() (map[names.CloudTag]cloud.Cloud, error) CloudCredential(tag names.CloudCredentialTag) (Credential, error) }
CloudAccessor defines the methods needed to obtain information about clouds and credentials.
type CloudContainer ¶
type CloudContainer interface { // Unit returns the name of the unit for this container. Unit() string // ProviderId returns the id assigned to the container/pod // by the cloud. ProviderId() string // Address returns the container address. Address() *network.SpaceAddress // Ports returns the open container ports. Ports() []string }
CloudContainer represents the state of a CAAS container, eg pod.
type CloudInfo ¶
type CloudInfo struct { cloud.Cloud // Access is the access level the supplied user has on this cloud. Access permission.Access }
CloudInfo describes interesting information for a given cloud.
type CloudService ¶
type CloudService struct {
// contains filtered or unexported fields
}
CloudService is an implementation of CloudService.
func (*CloudService) Addresses ¶
func (c *CloudService) Addresses() network.SpaceAddresses
Addresses implements CloudServicer.
func (*CloudService) CloudService ¶
func (c *CloudService) CloudService() (*CloudService, error)
CloudService return the content of cloud service from the underlying state. It returns an error that satisfies errors.IsNotFound if the cloud service has been removed.
func (*CloudService) DesiredScaleProtected ¶
func (c *CloudService) DesiredScaleProtected() bool
DesiredScaleProtected implements CloudServicer.
func (*CloudService) Generation ¶
func (c *CloudService) Generation() int64
Generation implements CloudServicer.
func (*CloudService) ProviderId ¶
func (c *CloudService) ProviderId() string
ProviderId implements CloudServicer.
func (*CloudService) Refresh ¶
func (c *CloudService) Refresh() error
Refresh refreshes the content of cloud service from the underlying state. It returns an error that satisfies errors.IsNotFound if the cloud service has been removed.
func (*CloudService) Watch ¶
func (c *CloudService) Watch() NotifyWatcher
Watch returns a watcher for observing changes to a controller service.
type CloudServicer ¶
type CloudServicer interface { // ProviderId returns the id assigned to the service // by the cloud. ProviderId() string // Addresses returns the service addresses. Addresses() network.SpaceAddresses // Generation returns the service config generation. Generation() int64 // DesiredScaleProtected indicates if current desired scale in application has been applied to the cluster. DesiredScaleProtected() bool }
CloudServicer represents the state of a CAAS service.
type CollectionInfo ¶
type CollectionInfo struct {
// contains filtered or unexported fields
}
collectionInfo describes important features of a collection.
type CollectionSchema ¶
type CollectionSchema map[string]CollectionInfo
collectionSchema defines the set of collections used in juju.
func (CollectionSchema) Create ¶
func (schema CollectionSchema) Create( db *mgo.Database, settings *controller.Config, ) error
Create causes all recorded collections to be created and indexed as specified