openstack errors
diff --git a/openstack/auth_env.go b/openstack/auth_env.go
index 41e41e4..2309783 100644
--- a/openstack/auth_env.go
+++ b/openstack/auth_env.go
@@ -1,7 +1,6 @@
package openstack
import (
- "fmt"
"os"
"github.com/gophercloud/gophercloud"
@@ -9,14 +8,6 @@
var nilOptions = gophercloud.AuthOptions{}
-// ErrNoAuthUrl, ErrNoUsername, and ErrNoPassword errors indicate of the required OS_AUTH_URL, OS_USERNAME, or OS_PASSWORD
-// environment variables, respectively, remain undefined. See the AuthOptions() function for more details.
-var (
- ErrNoAuthURL = fmt.Errorf("Environment variable OS_AUTH_URL needs to be set.")
- ErrNoUsername = fmt.Errorf("Environment variable OS_USERNAME needs to be set.")
- ErrNoPassword = fmt.Errorf("Environment variable OS_PASSWORD needs to be set.")
-)
-
// AuthOptionsFromEnv fills out an identity.AuthOptions structure with the settings found on the various OpenStack
// OS_* environment variables. The following variables provide sources of truth: OS_AUTH_URL, OS_USERNAME,
// OS_PASSWORD, OS_TENANT_ID, and OS_TENANT_NAME. Of these, OS_USERNAME, OS_PASSWORD, and OS_AUTH_URL must
@@ -32,15 +23,24 @@
domainName := os.Getenv("OS_DOMAIN_NAME")
if authURL == "" {
- return nilOptions, ErrNoAuthURL
+ err := &ErrNoAuthURL{}
+ err.Function = "openstack.AuthOptionsFromEnv"
+ err.Argument = "authURL"
+ return nilOptions, err
}
if username == "" && userID == "" {
- return nilOptions, ErrNoUsername
+ err := &ErrNoUsername{}
+ err.Function = "openstack.AuthOptionsFromEnv"
+ err.Argument = "username"
+ return nilOptions, err
}
if password == "" {
- return nilOptions, ErrNoPassword
+ err := &ErrNoPassword{}
+ err.Function = "openstack.AuthOptionsFromEnv"
+ err.Argument = "password"
+ return nilOptions, err
}
ao := gophercloud.AuthOptions{