]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blobdiff - vendor/github.com/hashicorp/terraform/terraform/path.go
Merge branch 'fix_read_test' of github.com:alexandreFre/terraform-provider-statuscake
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / hashicorp / terraform / terraform / path.go
index ca99685ad346127cf28dd8eec7a8b5d624f1a9d8..9757446bb6ceaebec2bc984a0c452dec1d8f40a5 100644 (file)
@@ -1,24 +1,17 @@
 package terraform
 
 import (
-       "crypto/md5"
-       "encoding/hex"
+       "fmt"
+
+       "github.com/hashicorp/terraform/addrs"
 )
 
-// PathCacheKey returns a cache key for a module path.
+// PathObjectCacheKey is like PathCacheKey but includes an additional name
+// to be included in the key, for module-namespaced objects.
 //
-// TODO: test
-func PathCacheKey(path []string) string {
-       // There is probably a better way to do this, but this is working for now.
-       // We just create an MD5 hash of all the MD5 hashes of all the path
-       // elements. This gets us the property that it is unique per ordering.
-       hash := md5.New()
-       for _, p := range path {
-               single := md5.Sum([]byte(p))
-               if _, err := hash.Write(single[:]); err != nil {
-                       panic(err)
-               }
-       }
-
-       return hex.EncodeToString(hash.Sum(nil))
+// The result of this function is guaranteed unique for any distinct pair
+// of path and name, but is not guaranteed to be in any particular format
+// and in particular should never be shown to end-users.
+func PathObjectCacheKey(path addrs.ModuleInstance, objectName string) string {
+       return fmt.Sprintf("%s|%s", path.String(), objectName)
 }