6 "github.com/hashicorp/terraform/addrs"
9 // NodeOutputOrphan represents an output that is an orphan.
10 type NodeOutputOrphan struct {
11 Addr addrs.AbsOutputValue
15 _ GraphNodeSubPath = (*NodeOutputOrphan)(nil)
16 _ GraphNodeReferenceable = (*NodeOutputOrphan)(nil)
17 _ GraphNodeReferenceOutside = (*NodeOutputOrphan)(nil)
18 _ GraphNodeEvalable = (*NodeOutputOrphan)(nil)
21 func (n *NodeOutputOrphan) Name() string {
22 return fmt.Sprintf("%s (orphan)", n.Addr.String())
25 // GraphNodeReferenceOutside implementation
26 func (n *NodeOutputOrphan) ReferenceOutside() (selfPath, referencePath addrs.ModuleInstance) {
27 return referenceOutsideForOutput(n.Addr)
30 // GraphNodeReferenceable
31 func (n *NodeOutputOrphan) ReferenceableAddrs() []addrs.Referenceable {
32 return referenceableAddrsForOutput(n.Addr)
36 func (n *NodeOutputOrphan) Path() addrs.ModuleInstance {
41 func (n *NodeOutputOrphan) EvalTree() EvalNode {
43 Ops: []walkOperation{walkRefresh, walkApply, walkDestroy},
44 Node: &EvalDeleteOutput{
45 Addr: n.Addr.OutputValue,