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  }