aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/github.com/hashicorp/terraform/terraform/transform_removed_modules.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/hashicorp/terraform/terraform/transform_removed_modules.go')
-rw-r--r--vendor/github.com/hashicorp/terraform/terraform/transform_removed_modules.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/vendor/github.com/hashicorp/terraform/terraform/transform_removed_modules.go b/vendor/github.com/hashicorp/terraform/terraform/transform_removed_modules.go
new file mode 100644
index 0000000..2e05edb
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/terraform/transform_removed_modules.go
@@ -0,0 +1,32 @@
1package terraform
2
3import (
4 "log"
5
6 "github.com/hashicorp/terraform/config/module"
7)
8
9// RemoveModuleTransformer implements GraphTransformer to add nodes indicating
10// when a module was removed from the configuration.
11type RemovedModuleTransformer struct {
12 Module *module.Tree // root module
13 State *State
14}
15
16func (t *RemovedModuleTransformer) Transform(g *Graph) error {
17 // nothing to remove if there's no state!
18 if t.State == nil {
19 return nil
20 }
21
22 for _, m := range t.State.Modules {
23 c := t.Module.Child(m.Path[1:])
24 if c != nil {
25 continue
26 }
27
28 log.Printf("[DEBUG] module %s no longer in config\n", modulePrefixStr(m.Path))
29 g.Add(&NodeModuleRemoved{PathValue: m.Path})
30 }
31 return nil
32}