code: func New(address, authType string, params map[string]string) (*Client, error) {
  	if authType == "" {
  		return nil, errors.New("you have to set the auth type when using the vault backend")
  	}
  	log.Info("Vault authentication backend set to %s", authType)
  	conf, err := getConfig(address, params["cert"], params["key"], params["caCert"])
  
  	if err != nil {
  		return nil, err
  	}
  
  	c, err := vaultapi.NewClient(conf)
  	if err != nil {
  		return nil, err
  	}
  
  	if err := authenticate(c, authType, params); err != nil {
  		return nil, err
  	}
  	return &Client{c}, nil
  }
docs: // New returns an *vault.Client with a connection to named machines.
  // It returns an error if a connection to the cluster cannot be made.