github.com/axw/juju@v0.0.0-20161005053422-4bd6544d08d4/apiserver/common/controllerconfig.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/apiserver/params" 8 "github.com/juju/juju/state" 9 ) 10 11 // ControllerConfigAPI implements two common methods for use by various 12 // facades - eg Provisioner and ControllerConfig. 13 type ControllerConfigAPI struct { 14 st state.ControllerAccessor 15 } 16 17 // NewControllerConfig returns a new NewControllerConfigAPI. 18 func NewControllerConfig(st state.ControllerAccessor) *ControllerConfigAPI { 19 return &ControllerConfigAPI{ 20 st: st, 21 } 22 } 23 24 // ControllerConfig returns the controller's configuration. 25 func (s *ControllerConfigAPI) ControllerConfig() (params.ControllerConfigResult, error) { 26 result := params.ControllerConfigResult{} 27 config, err := s.st.ControllerConfig() 28 if err != nil { 29 return result, err 30 } 31 result.Config = params.ControllerConfig(config) 32 return result, nil 33 }