terraform/config
Mitchell Hashimoto 095b7e7831
config/module: disallow root modules named "root"
Fixes #11038

This is a **short term fix**.

Terraform core doesn't currently handle root modules named "root" well
because the prefix `[]string{"root"}` has special meaning and Terraform
core [currently] can't disambiguate between the root module and a module
named "root" in the root module.

This PR introduces a short term fix by simply disallowing root modules
named "root". This shouldn't break any BC because since 0.8.0 this
didn't work at all in many broken ways (including crashes).

Longer term, this should be fixed by removing the special prefix at all
and having empty paths be root. I started down this path but the core
changes necessary are far too scary for a patch release. We can aim for
0.9.
2017-01-08 15:39:57 -08:00
..
module config/module: disallow root modules named "root" 2017-01-08 15:39:57 -08:00
test-fixtures Merge pull request #10658 from hashicorp/b-var-keys 2016-12-12 10:53:07 -08:00
append.go config: Append supports `terraform` 2016-12-13 21:53:02 -08:00
append_test.go config: Append supports `terraform` 2016-12-13 21:53:02 -08:00
config.go config: smarter provider alias usage validation 2016-12-16 16:47:32 -08:00
config_string.go config: parse depends_on for outputs 2016-11-11 17:46:34 -08:00
config_test.go config: smarter provider alias usage validation 2016-12-16 16:47:32 -08:00
config_tree.go config: make Merge an exported func 2014-07-18 17:05:22 -07:00
import_tree.go Condense switch fallthroughs into expr lists 2015-05-26 21:52:36 -04:00
interpolate.go config: use ast.TypeUnknown and don't remove computed values 2016-11-09 14:28:15 -08:00
interpolate_funcs.go config: nitpicks from #10475 2016-12-01 18:02:39 -05:00
interpolate_funcs_test.go config: nitpicks from #10475 2016-12-01 18:02:39 -05:00
interpolate_test.go config: use ast.TypeUnknown and don't remove computed values 2016-11-09 14:28:15 -08:00
interpolate_walk.go config: maintain slice index accounting for computed keys 2016-11-14 18:33:29 -08:00
interpolate_walk_test.go config: use ast.TypeUnknown and don't remove computed values 2016-11-09 14:28:15 -08:00
lang.go remove config/lang, use hashicorp/hil 2016-02-03 13:24:04 -05:00
loader.go command/import: load configurations and allow empty config dirs 2016-11-09 15:08:22 -08:00
loader_hcl.go Merge pull request #10658 from hashicorp/b-var-keys 2016-12-12 10:53:07 -08:00
loader_hcl_test.go config: HCL loader 2014-08-11 09:58:53 -07:00
loader_test.go Merge pull request #10658 from hashicorp/b-var-keys 2016-12-12 10:53:07 -08:00
merge.go config: Merge respects Terraform blocks, provider aliases, and more 2016-12-13 21:48:59 -08:00
merge_test.go config: Merge respects Terraform blocks, provider aliases, and more 2016-12-13 21:48:59 -08:00
raw_config.go config: Merge respects Terraform blocks, provider aliases, and more 2016-12-13 21:48:59 -08:00
raw_config_test.go config: validate that RawConfig.Copy doesn't copy the interpolated 2016-12-02 13:25:32 -05:00
resource_mode.go config: "ResourceMode" concept for resources 2016-05-14 08:26:35 -07:00
resource_mode_string.go config: "ResourceMode" concept for resources 2016-05-14 08:26:35 -07:00
testing.go terraform: rename attach config to only attach provider config 2016-10-19 13:38:51 -07:00