func newAPIConfig()

in ec/acc/acc_prereq.go [77:127]


func newAPIConfig() (api.Config, error) {
	var host = api.ESSEndpoint
	if h := os.Getenv("EC_HOST"); h != "" {
		host = h
	}
	if h := os.Getenv("EC_ENDPOINT"); h != "" {
		host = h
	}

	var apikey string
	if k := os.Getenv("EC_API_KEY"); k != "" {
		apikey = k
	}

	var username string
	if k := os.Getenv("EC_USER"); k != "" {
		username = k
	}
	if k := os.Getenv("EC_USERNAME"); k != "" {
		username = k
	}

	var password string
	if k := os.Getenv("EC_UPASS"); k != "" {
		password = k
	}
	if k := os.Getenv("EC_PASSWORD"); k != "" {
		password = k
	}

	authWriter, err := auth.NewAuthWriter(auth.Config{
		APIKey: apikey, Username: username, Password: password,
	})
	if err != nil {
		return api.Config{}, err
	}

	var insecure bool
	if host != api.ESSEndpoint {
		insecure = true
	}

	return api.Config{
		ErrorDevice:   os.Stdout,
		Client:        &http.Client{},
		AuthWriter:    authWriter,
		Host:          host,
		SkipTLSVerify: insecure,
		Retries:       ec.DefaultHTTPRetries,
	}, nil
}