provider/vsphere/vsphere_discover.go
func valueOrEnv(config map[string]string, key, env string) string {
	if v := config[key]; v != "" {
		return v
	}
	if v := os.Getenv(env); v != "" {
		logger.Printf("[DEBUG] Using value of %s for configuration of %s", env, key)
		return v
	}
	return ""
}
func valueOrEnv(config map[string]string, key, env string) string {
	if v := config[key]; v != "" {
		return v
	}
	if v := os.Getenv(env); v != "" {
		logger.Printf("[DEBUG] Using value of %s for configuration of %s", env, key)
		return v
	}
	return ""
}
// valueOrEnv provides a way of suppling configuration values through
// environment variables. Defined values always take priority.