github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/worker/modelworkermanager/shim.go (about) 1 // Copyright 2017 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 package modelworkermanager 4 5 import ( 6 "github.com/juju/errors" 7 "github.com/juju/juju/state" 8 ) 9 10 // StatePoolModelGetter implements ModelGetter in terms of a *state.StatePool. 11 type StatePoolModelGetter struct { 12 *state.StatePool 13 } 14 15 // Model is part of the ModelGetter interface. 16 func (g StatePoolModelGetter) Model(modelUUID string) (Model, func(), error) { 17 model, ph, err := g.StatePool.GetModel(modelUUID) 18 if err != nil { 19 return nil, nil, errors.Trace(err) 20 } 21 return model, func() { ph.Release() }, nil 22 }