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  }