github.com/cloud-green/juju@v0.0.0-20151002100041-a00291338d3d/apiserver/rsyslog/config.go (about) 1 package rsyslog 2 3 import ( 4 apirsyslog "github.com/juju/juju/api/rsyslog" 5 "github.com/juju/juju/environs/config" 6 "github.com/juju/juju/network" 7 ) 8 9 // newRsyslogConfig creates a new instance of the RsyslogConfig. 10 func newRsyslogConfig(envCfg *config.Config, api *RsyslogAPI) (*apirsyslog.RsyslogConfig, error) { 11 stateAddrsResult, err := api.StateAddresser.StateAddresses() 12 if err != nil { 13 return nil, err 14 } 15 port := envCfg.SyslogPort() 16 17 apiHostPorts, err := network.ParseHostPorts(stateAddrsResult.Result...) 18 if err != nil { 19 return nil, err 20 } 21 apiAddresses := network.HostsWithoutPort(apiHostPorts) 22 23 return &apirsyslog.RsyslogConfig{ 24 CACert: envCfg.RsyslogCACert(), 25 CAKey: envCfg.RsyslogCAKey(), 26 Port: port, 27 HostPorts: network.AddressesWithPort(apiAddresses, port), 28 }, nil 29 }