github.com/bengesoff/terraform@v0.3.1-0.20141018223233-b25a53629922/builtin/providers/dnsimple/config.go (about) 1 package dnsimple 2 3 import ( 4 "fmt" 5 "log" 6 "os" 7 8 "github.com/pearkes/dnsimple" 9 ) 10 11 type Config struct { 12 Token string `mapstructure:"token"` 13 Email string `mapstructure:"email"` 14 } 15 16 // Client() returns a new client for accessing dnsimple. 17 // 18 func (c *Config) Client() (*dnsimple.Client, error) { 19 20 // If we have env vars set (like in the acc) tests, 21 // we need to override the values passed in here. 22 if v := os.Getenv("DNSIMPLE_EMAIL"); v != "" { 23 c.Email = v 24 } 25 if v := os.Getenv("DNSIMPLE_TOKEN"); v != "" { 26 c.Token = v 27 } 28 29 client, err := dnsimple.NewClient(c.Email, c.Token) 30 31 if err != nil { 32 return nil, fmt.Errorf("Error setting up client: %s", err) 33 } 34 35 log.Printf("[INFO] DNSimple Client configured for user: %s", client.Email) 36 37 return client, nil 38 }