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  }