github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/apiserver/facades/controller/migrationmaster/backend.go (about) 1 // Copyright 2016 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package migrationmaster 5 6 import ( 7 "github.com/juju/names/v5" 8 "github.com/juju/version/v2" 9 10 "github.com/juju/juju/controller" 11 "github.com/juju/juju/core/network" 12 "github.com/juju/juju/migration" 13 "github.com/juju/juju/state" 14 ) 15 16 // Backend defines the state functionality required by the 17 // migrationmaster facade. 18 type Backend interface { 19 migration.StateExporter 20 21 WatchForMigration() state.NotifyWatcher 22 LatestMigration() (state.ModelMigration, error) 23 ModelUUID() string 24 ModelName() (string, error) 25 ModelOwner() (names.UserTag, error) 26 AgentVersion() (version.Number, error) 27 RemoveExportingModelDocs() error 28 ControllerConfig() (controller.Config, error) 29 AllLocalRelatedModels() ([]string, error) 30 } 31 32 // ControllerState defines the state functionality for controller model. 33 type ControllerState interface { 34 APIHostPortsForClients() ([]network.SpaceHostPorts, error) 35 }