github.com/juju/juju@v0.0.0-20240327075706-a90865de2538/worker/stateconverter/interfaces.go (about) 1 // Copyright 2022 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package stateconverter 5 6 import ( 7 "github.com/juju/names/v5" 8 9 "github.com/juju/juju/core/watcher" 10 "github.com/juju/juju/rpc/params" 11 ) 12 13 // Logger represents the methods used by the worker to log details. 14 type Logger interface { 15 Tracef(string, ...interface{}) 16 Debugf(string, ...interface{}) 17 Criticalf(string, ...interface{}) 18 } 19 20 // Machiner represents necessary methods for this worker from the 21 // machiner api. 22 type Machiner interface { 23 Machine(tag names.MachineTag) (Machine, error) 24 } 25 26 // Machine represents necessary methods for this worker from the 27 // a machiner's machine. 28 type Machine interface { 29 Jobs() (*params.JobsResult, error) 30 Watch() (watcher.NotifyWatcher, error) 31 }