]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blobdiff - vendor/github.com/hashicorp/terraform/terraform/node_data_destroy.go
Upgrade to 0.12
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / hashicorp / terraform / terraform / node_data_destroy.go
index e32cea88251e9e04f95d0d177b30186b7eefb0b0..6ba39904d6a5edd49d7a0126a8870611cd0b2f1f 100644 (file)
@@ -1,22 +1,40 @@
 package terraform
 
-// NodeDestroyableDataResource represents a resource that is "plannable":
-// it is ready to be planned in order to create a diff.
-type NodeDestroyableDataResource struct {
-       *NodeAbstractResource
+import (
+       "github.com/hashicorp/terraform/providers"
+       "github.com/hashicorp/terraform/states"
+)
+
+// NodeDestroyableDataResourceInstance represents a resource that is "destroyable":
+// it is ready to be destroyed.
+type NodeDestroyableDataResourceInstance struct {
+       *NodeAbstractResourceInstance
 }
 
 // GraphNodeEvalable
-func (n *NodeDestroyableDataResource) EvalTree() EvalNode {
-       addr := n.NodeAbstractResource.Addr
+func (n *NodeDestroyableDataResourceInstance) EvalTree() EvalNode {
+       addr := n.ResourceInstanceAddr()
 
-       // stateId is the ID to put into the state
-       stateId := addr.stateId()
+       var providerSchema *ProviderSchema
+       // We don't need the provider, but we're calling EvalGetProvider to load the
+       // schema.
+       var provider providers.Interface
 
        // Just destroy it.
-       var state *InstanceState
-       return &EvalWriteState{
-               Name:  stateId,
-               State: &state, // state is nil here
+       var state *states.ResourceInstanceObject
+       return &EvalSequence{
+               Nodes: []EvalNode{
+                       &EvalGetProvider{
+                               Addr:   n.ResolvedProvider,
+                               Output: &provider,
+                               Schema: &providerSchema,
+                       },
+                       &EvalWriteState{
+                               Addr:           addr.Resource,
+                               State:          &state,
+                               ProviderAddr:   n.ResolvedProvider,
+                               ProviderSchema: &providerSchema,
+                       },
+               },
        }
 }