github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/apiserver/common/environ_config.go (about) 1 // Copyright 2016 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package common 5 6 import ( 7 "github.com/juju/juju/environs" 8 "github.com/juju/juju/environs/config" 9 ) 10 11 // EnvironConfigGetterFuncs holds implements environs.EnvironConfigGetter 12 // in a pluggable way. 13 type EnvironConfigGetterFuncs struct { 14 ModelConfigFunc func() (*config.Config, error) 15 CloudSpecFunc func() (environs.CloudSpec, error) 16 } 17 18 // ModelConfig implements EnvironConfigGetter. 19 func (f EnvironConfigGetterFuncs) ModelConfig() (*config.Config, error) { 20 return f.ModelConfigFunc() 21 } 22 23 // CloudSpec implements environs.EnvironConfigGetter. 24 func (f EnvironConfigGetterFuncs) CloudSpec() (environs.CloudSpec, error) { 25 return f.CloudSpecFunc() 26 }