remote: respect ATLAS_TOKEN
This commit is contained in:
parent
f0de69b3c5
commit
8cb3e5715b
|
@ -8,6 +8,7 @@ import (
|
||||||
"io"
|
"io"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/url"
|
"net/url"
|
||||||
|
"os"
|
||||||
"path"
|
"path"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
@ -48,8 +49,13 @@ func (c *AtlasRemoteClient) validateConfig(conf map[string]string) error {
|
||||||
c.serverURL = url
|
c.serverURL = url
|
||||||
|
|
||||||
token, ok := conf["access_token"]
|
token, ok := conf["access_token"]
|
||||||
|
if token == "" {
|
||||||
|
token = os.Getenv("ATLAS_TOKEN")
|
||||||
|
ok = true
|
||||||
|
}
|
||||||
if !ok || token == "" {
|
if !ok || token == "" {
|
||||||
return fmt.Errorf("missing 'access_token' configuration")
|
return fmt.Errorf(
|
||||||
|
"missing 'access_token' configuration or ATLAS_TOKEN environmental variable")
|
||||||
}
|
}
|
||||||
c.accessToken = token
|
c.accessToken = token
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,21 @@ func TestAtlasRemote_Validate(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestAtlasRemote_Validate_envVar(t *testing.T) {
|
||||||
|
conf := map[string]string{}
|
||||||
|
if _, err := NewAtlasRemoteClient(conf); err == nil {
|
||||||
|
t.Fatalf("expect error")
|
||||||
|
}
|
||||||
|
|
||||||
|
defer os.Setenv("ATLAS_TOKEN", os.Getenv("ATLAS_TOKEN"))
|
||||||
|
os.Setenv("ATLAS_TOKEN", "foo")
|
||||||
|
|
||||||
|
conf["name"] = "hashicorp/test-state"
|
||||||
|
if _, err := NewAtlasRemoteClient(conf); err != nil {
|
||||||
|
t.Fatalf("err: %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestAtlasRemote(t *testing.T) {
|
func TestAtlasRemote(t *testing.T) {
|
||||||
checkAtlas(t)
|
checkAtlas(t)
|
||||||
remote := &terraform.RemoteState{
|
remote := &terraform.RemoteState{
|
||||||
|
|
Loading…
Reference in New Issue