]>
Commit | Line | Data |
---|---|---|
bae9f6d2 JC |
1 | package terraform |
2 | ||
107c1cdb ND |
3 | import ( |
4 | "github.com/hashicorp/terraform/providers" | |
5 | "github.com/hashicorp/terraform/states" | |
6 | ) | |
7 | ||
8 | // NodeDestroyableDataResourceInstance represents a resource that is "destroyable": | |
9 | // it is ready to be destroyed. | |
10 | type NodeDestroyableDataResourceInstance struct { | |
11 | *NodeAbstractResourceInstance | |
bae9f6d2 JC |
12 | } |
13 | ||
14 | // GraphNodeEvalable | |
107c1cdb ND |
15 | func (n *NodeDestroyableDataResourceInstance) EvalTree() EvalNode { |
16 | addr := n.ResourceInstanceAddr() | |
bae9f6d2 | 17 | |
107c1cdb ND |
18 | var providerSchema *ProviderSchema |
19 | // We don't need the provider, but we're calling EvalGetProvider to load the | |
20 | // schema. | |
21 | var provider providers.Interface | |
bae9f6d2 JC |
22 | |
23 | // Just destroy it. | |
107c1cdb ND |
24 | var state *states.ResourceInstanceObject |
25 | return &EvalSequence{ | |
26 | Nodes: []EvalNode{ | |
27 | &EvalGetProvider{ | |
28 | Addr: n.ResolvedProvider, | |
29 | Output: &provider, | |
30 | Schema: &providerSchema, | |
31 | }, | |
32 | &EvalWriteState{ | |
33 | Addr: addr.Resource, | |
34 | State: &state, | |
35 | ProviderAddr: n.ResolvedProvider, | |
36 | ProviderSchema: &providerSchema, | |
37 | }, | |
38 | }, | |
bae9f6d2 JC |
39 | } |
40 | } |