]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blobdiff - vendor/github.com/hashicorp/terraform/terraform/node_output_orphan.go
Upgrade to 0.12
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / hashicorp / terraform / terraform / node_output_orphan.go
index 0fd1554a951ce674f3bd559a39708b9c0dd933a3..518b8aa09ffb4e5e9073a0e81cd6a528ed2ba11e 100644 (file)
@@ -2,31 +2,39 @@ package terraform
 
 import (
        "fmt"
+
+       "github.com/hashicorp/terraform/addrs"
 )
 
 // NodeOutputOrphan represents an output that is an orphan.
 type NodeOutputOrphan struct {
-       OutputName string
-       PathValue  []string
+       Addr addrs.AbsOutputValue
 }
 
+var (
+       _ GraphNodeSubPath          = (*NodeOutputOrphan)(nil)
+       _ GraphNodeReferenceable    = (*NodeOutputOrphan)(nil)
+       _ GraphNodeReferenceOutside = (*NodeOutputOrphan)(nil)
+       _ GraphNodeEvalable         = (*NodeOutputOrphan)(nil)
+)
+
 func (n *NodeOutputOrphan) Name() string {
-       result := fmt.Sprintf("output.%s (orphan)", n.OutputName)
-       if len(n.PathValue) > 1 {
-               result = fmt.Sprintf("%s.%s", modulePrefixStr(n.PathValue), result)
-       }
+       return fmt.Sprintf("%s (orphan)", n.Addr.String())
+}
 
-       return result
+// GraphNodeReferenceOutside implementation
+func (n *NodeOutputOrphan) ReferenceOutside() (selfPath, referencePath addrs.ModuleInstance) {
+       return referenceOutsideForOutput(n.Addr)
 }
 
 // GraphNodeReferenceable
-func (n *NodeOutputOrphan) ReferenceableName() []string {
-       return []string{"output." + n.OutputName}
+func (n *NodeOutputOrphan) ReferenceableAddrs() []addrs.Referenceable {
+       return referenceableAddrsForOutput(n.Addr)
 }
 
 // GraphNodeSubPath
-func (n *NodeOutputOrphan) Path() []string {
-       return n.PathValue
+func (n *NodeOutputOrphan) Path() addrs.ModuleInstance {
+       return n.Addr.Module
 }
 
 // GraphNodeEvalable
@@ -34,7 +42,7 @@ func (n *NodeOutputOrphan) EvalTree() EvalNode {
        return &EvalOpFilter{
                Ops: []walkOperation{walkRefresh, walkApply, walkDestroy},
                Node: &EvalDeleteOutput{
-                       Name: n.OutputName,
+                       Addr: n.Addr.OutputValue,
                },
        }
 }