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  }