github.com/wallyworld/juju@v0.0.0-20161013125918-6cf1bc9d917a/api/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/api/base" 8 "github.com/juju/juju/apiserver/params" 9 "github.com/juju/juju/controller" 10 ) 11 12 // ControllerConfigAPI provides common client-side API functions 13 // to call into apiserver.common.ControllerConfig. 14 type ControllerConfigAPI struct { 15 facade base.FacadeCaller 16 } 17 18 // NewControllerConfig creates a ControllerConfig on the specified facade, 19 // and uses this name when calling through the caller. 20 func NewControllerConfig(facade base.FacadeCaller) *ControllerConfigAPI { 21 return &ControllerConfigAPI{facade} 22 } 23 24 // ControllerConfig returns the current controller configuration. 25 func (e *ControllerConfigAPI) ControllerConfig() (controller.Config, error) { 26 var result params.ControllerConfigResult 27 err := e.facade.FacadeCall("ControllerConfig", nil, &result) 28 if err != nil { 29 return nil, err 30 } 31 return controller.Config(result.Config), nil 32 }