github.com/nalum/terraform@v0.3.2-0.20141223102918-aa2c22ffeff6/builtin/providers/consul/config.go (about) 1 package consul 2 3 import ( 4 "log" 5 6 "github.com/armon/consul-api" 7 ) 8 9 type Config struct { 10 Datacenter string `mapstructure:"datacenter"` 11 Address string `mapstructure:"address"` 12 } 13 14 // Client() returns a new client for accessing digital 15 // ocean. 16 // 17 func (c *Config) Client() (*consulapi.Client, error) { 18 config := consulapi.DefaultConfig() 19 if c.Datacenter != "" { 20 config.Datacenter = c.Datacenter 21 } 22 if c.Address != "" { 23 config.Address = c.Address 24 } 25 client, err := consulapi.NewClient(config) 26 27 log.Printf("[INFO] Consul Client configured with address: '%s', datacenter: '%s'", 28 config.Address, config.Datacenter) 29 if err != nil { 30 return nil, err 31 } 32 return client, nil 33 }