terraform/config/test-fixtures
Martin Atkins b0215fcd0f config: HCL2 config loader
This loader uses the HCL2 parser and decoder to process a config file,
and then transforms the result into the same shape as would be produced
by the HCL config loader.

To avoid making changes to the existing config structures (which are
depended on across much of the codebase) we first decode into a set of
HCL2-tailored structs and then process them into the public-facing structs
that a loader is expected to return. This is a compromise to keep the
config package API broadly unchanged for now. Once we're ready to remove
the old HCL loader (which implies that we're ready to support HCL2
natively elsewhere in the codebase) we will be able to simplify this
quite considerably.

Due to some mismatches of abstraction between HCL/HIL and HCL2, some
shimming is required to get the required result.
2017-10-03 17:47:01 -07:00
..
backend-hash-basic config: add "backend" loading to the Terraform section 2017-01-26 14:33:49 -08:00
backend-hash-empty config: add "backend" loading to the Terraform section 2017-01-26 14:33:49 -08:00
backend-hash-no-terraform config: add "backend" loading to the Terraform section 2017-01-26 14:33:49 -08:00
backend-hash-type-only config: add "backend" loading to the Terraform section 2017-01-26 14:33:49 -08:00
copy-basic core: Make copies when creating destroy nodes 2016-02-09 09:25:16 -06:00
count-int config: add Config method 2014-10-02 11:34:08 -07:00
count-list config: Resource.Count should type check 2017-02-10 10:41:41 -08:00
count-string config: add Config method 2014-10-02 11:34:08 -07:00
count-var config: add Config method 2014-10-02 11:34:08 -07:00
data-count Add a test load of a data source with count 2016-09-03 13:08:41 -07:00
dir-basic config: Data source loading 2016-05-14 08:26:35 -07:00
dir-empty config: LoadDir with no matching files errors 2014-07-11 21:04:59 -07:00
dir-merge config: HCL loader 2014-08-11 09:58:53 -07:00
dir-override config: Data source loading 2016-05-14 08:26:35 -07:00
dir-override-var config: test for var uniqueness in overrides 2016-08-26 13:48:21 -07:00
dir-temporary-files Ignore hidden files per Unix conventions 2015-03-18 07:50:33 +00:00
empty-collections core: Fix detection of empty list/map defaults 2016-06-12 11:19:03 +02:00
import dos2unix 2014-07-28 10:43:00 -07:00
interpolations config: unit tests for lexer 2014-09-09 14:34:03 -07:00
provider-version config: add "version" argument to provider blocks, disabled 2017-06-09 14:03:59 -07:00
provider-version-invalid config: allow version constraints on providers, but validate them 2017-06-09 14:03:59 -07:00
validate-backend-interpolate config: validate backend configuration can't contain interpolations 2017-02-17 16:27:01 -08:00
validate-bad-depends-on dos2unix 2014-07-28 10:43:00 -07:00
validate-bad-multi-resource dos2unix 2014-07-28 10:43:00 -07:00
validate-bad-tf-version config: parse and validate terraform.required_version 2016-11-12 16:22:35 -08:00
validate-basic-provisioners config: parse "when" and "on_failure" on provisioners 2017-01-19 18:10:21 -08:00
validate-count-bad-context core: protect against count.index in modules 2015-04-15 10:41:56 -05:00
validate-count-below-zero dos2unix 2014-07-28 10:43:00 -07:00
validate-count-count-var config: count can't interpolate count variables 2014-10-02 18:22:32 -07:00
validate-count-int config: validate that count is an int 2014-10-02 16:51:20 -07:00
validate-count-module-var config: validate that only proper variables can be in the count 2014-10-02 16:30:46 -07:00
validate-count-not-int config: validate that count is an int 2014-10-02 16:51:20 -07:00
validate-count-resource-var config: validate that only proper variables can be in the count 2014-10-02 16:30:46 -07:00
validate-count-resource-var-multi command/meta: validate config immediately 2016-09-03 15:26:49 -07:00
validate-count-user-var config: validate that only proper variables can be in the count 2014-10-02 16:30:46 -07:00
validate-count-var config: validate good count variables 2014-10-02 18:25:18 -07:00
validate-count-var-invalid config: validate that count vars are valid types 2014-10-02 18:24:37 -07:00
validate-count-var-unknown config: count can't be a SimpleVariable 2016-08-16 13:48:12 -07:00
validate-count-zero dos2unix 2014-07-28 10:43:00 -07:00
validate-data-provisioner config: validate that data sources don't have provisioners 2016-11-23 08:46:13 -08:00
validate-depends-on-bad-module config: validate depends_on with module values 2016-11-12 08:21:27 -08:00
validate-depends-on-module config: validate depends_on with module values 2016-11-12 08:21:27 -08:00
validate-depends-on-var config: depends on cannot contain interpolations [GH-985] 2015-02-20 09:07:41 -08:00
validate-dup-module config: validate no duplicate modules 2014-09-11 16:02:36 -07:00
validate-dup-resource dos2unix 2014-07-28 10:43:00 -07:00
validate-good core: Better error for dot indexing on user vars 2016-06-12 10:45:48 -05:00
validate-ignore-changes Add wildcard (match all) support to ignore_changes (#8599) 2016-09-02 15:44:35 +02:00
validate-ignore-changes-bad Add wildcard (match all) support to ignore_changes (#8599) 2016-09-02 15:44:35 +02:00
validate-ignore-changes-interpolate config: ignore_changes cannot have interpolations 2016-10-24 23:06:33 -07:00
validate-local-multi-file config: merge/append for local values 2017-09-01 17:51:13 -07:00
validate-local-value-count config: allow local value interpolations in count 2017-09-01 17:54:05 -07:00
validate-module-name-bad config: validate module names are valid 2014-10-08 16:03:22 -07:00
validate-module-source-var config: validate that module source can't contain interpolations 2014-10-07 20:19:32 -07:00
validate-module-var-int config: validate that module variables can go to ints, convert [GH-624] 2014-12-15 22:10:16 -08:00
validate-module-var-list core: support native list variables in config 2016-05-10 14:49:14 -04:00
validate-module-var-map core: support native list variables in config 2016-05-10 14:49:14 -04:00
validate-module-var-self config: error in validation if module has self variable 2015-04-22 10:39:07 +02:00
validate-output-bad-field dos2unix 2014-07-28 10:43:00 -07:00
validate-output-description core: allow outputs to have descriptions (#9722) 2016-11-18 19:09:43 +02:00
validate-output-dup config: outputs must be unique 2016-08-25 14:43:57 -07:00
validate-path-var config: parse ${path.module} 2014-10-07 18:03:11 -07:00
validate-path-var-invalid config: parse ${path.module} 2014-10-07 18:03:11 -07:00
validate-prov-conn-splat-other config: test we can ref splat of other resources 2015-02-20 09:19:13 -08:00
validate-prov-conn-splat-self config: validate configuration doens't contain splats to ourselves 2015-02-20 09:18:08 -08:00
validate-prov-splat-other config: validate provisioner splats can only reference others 2015-02-20 09:21:29 -08:00
validate-prov-splat-self config: validate provisioner splats can only reference others 2015-02-20 09:21:29 -08:00
validate-provider-multi config: validate that a multi provider is only configured once each 2015-04-20 14:25:33 -07:00
validate-provider-multi-good config: happy case test for multiple providers 2015-04-20 14:27:44 -07:00
validate-provider-multi-ref-bad config: test that resources reference good providers 2015-04-20 14:47:31 -07:00
validate-provider-multi-ref-good config: test that resources reference good providers 2015-04-20 14:47:31 -07:00
validate-provider-version-invalid config: fix provider version constraint validation 2017-06-09 14:03:59 -07:00
validate-resource-prov-self config: self var validation 2015-02-23 14:43:14 -08:00
validate-resource-self config: self var validation 2015-02-23 14:43:14 -08:00
validate-tf-version config: parse and validate terraform.required_version 2016-11-12 16:22:35 -08:00
validate-tf-version-interp config: parse and validate terraform.required_version 2016-11-12 16:22:35 -08:00
validate-unknown-resource-var dos2unix 2014-07-28 10:43:00 -07:00
validate-unknown-resource-var-output dos2unix 2014-07-28 10:43:00 -07:00
validate-unknownthing config: HCL loader 2014-08-11 09:58:53 -07:00
validate-unknownvar config: HCL loader 2014-08-11 09:58:53 -07:00
validate-unknownvar-count config: validate unknown var in count 2014-10-02 11:18:57 -07:00
validate-var-default config: vars must be unique 2016-08-25 14:51:49 -07:00
validate-var-default-interpolate config: validate no interp in var [GH-180] 2014-08-11 09:46:56 -07:00
validate-var-default-interpolate-escaped Allow escaped interpolation-like sequences in variable defaults 2017-03-29 09:25:57 -07:00
validate-var-default-list-type core: support native list variables in config 2016-05-10 14:49:14 -04:00
validate-var-dup config: vars must be unique 2016-08-25 14:51:49 -07:00
validate-var-module config: validate that variables reference valid modules 2014-09-15 11:45:41 -07:00
validate-var-module-invalid config: validate that variables reference valid modules 2014-09-15 11:45:41 -07:00
validate-var-multi-exact-non-slice config: allow exact multi-resource references outside slices 2014-10-11 17:20:39 -07:00
validate-var-multi-func config: multi-variable access in slice validation fixed [GH-798] 2015-01-15 09:40:13 -08:00
validate-var-nested Add test for Validate crash 2017-03-07 15:01:29 -05:00
.gitattributes Add regression test for #4069 2015-12-01 13:37:18 -05:00
attributes.tf Add failing tests for JSON configuration parsing 2015-11-19 16:06:30 +02:00
attributes.tf.json Add failing tests for JSON configuration parsing 2015-11-19 16:06:30 +02:00
bad-variable-type.tf core: Support explicit variable type declaration 2016-01-24 11:40:02 -06:00
bad_type.tf.nope dos2unix 2014-07-28 10:43:00 -07:00
basic-hcl2.tf config: HCL2 config loader 2017-10-03 17:47:01 -07:00
basic.tf config: parse description field for outputs 2017-08-28 09:42:03 -07:00
basic.tf.json config: parse description field for outputs 2017-08-28 09:42:03 -07:00
connection.tf dos2unix 2014-07-28 10:43:00 -07:00
create-before-destroy.tf terraform: Adding lifecycle config block 2014-09-29 15:20:02 -07:00
data-source-arity-mistake.tf config: Data source loading 2016-05-14 08:26:35 -07:00
empty.tf config: add test for empty file 2014-09-15 09:41:00 -07:00
escapedquotes.tf config: test covering escaped quotes syntax error 2015-11-19 12:11:42 -06:00
git-crypt.tf config: test that null characters show up as errors in parse 2016-11-21 18:11:11 -08:00
heredoc.tf config: test replicating #4079 2015-12-01 10:31:05 -06:00
ignore-changes.tf Adding ignore_changes lifecycle meta property 2015-10-14 16:34:27 -05:00
import.tf config: HCL loader 2014-08-11 09:58:53 -07:00
lifecycle_cbd_typo.tf config: validate lifecycle keys [GH-4413] 2016-01-19 11:28:45 -08:00
module-unnamed.tf config: generate errors for unnamed blocks of various sources 2017-05-02 16:29:57 -07:00
modules.tf config: change module syntax 2014-09-14 14:43:54 -07:00
output-depends-on.tf config: parse depends_on for outputs 2016-11-11 17:46:34 -08:00
output-unnamed.tf config: generate errors for unnamed blocks of various sources 2017-05-02 16:29:57 -07:00
prevent-destroy-string.tf config: parse lifecycle block with mapstructure for weak decode 2015-06-07 22:04:23 -07:00
provisioners-destroy.tf config: parse "when" and "on_failure" on provisioners 2017-01-19 18:10:21 -08:00
provisioners.tf dos2unix 2014-07-28 10:43:00 -07:00
resource-arity-mistake.tf config: friendlier error message on resource arity mismatch 2015-12-09 18:05:49 -06:00
resource-multi-lifecycle.tf config: error when loading multiple lifecycle blocks 2016-12-10 18:52:13 -05:00
resource-no-name.tf.json config: JSON resource keys with only one item load properly GH-5140 2016-08-25 17:18:18 -07:00
terraform-backend-2.tf.json restructure JSON terraform config block AST 2017-03-21 18:15:58 -04:00
terraform-backend-multi.tf config: add "backend" loading to the Terraform section 2017-01-26 14:33:49 -08:00
terraform-backend.tf config: add "backend" loading to the Terraform section 2017-01-26 14:33:49 -08:00
terraform-backend.tf.json config: test that JSON loading terraform backend info works 2017-03-16 14:51:26 -07:00
var-invalid-key.tf config: validate invalid variable keys 2016-12-10 19:27:01 -05:00
var_int.tf config: disallow names starting with ints 2016-12-08 23:01:51 -05:00
var_int_bare.tf config: disallow names starting with ints 2016-12-08 23:01:51 -05:00
variable-mismatched-type.tf core: Support explicit variable type declaration 2016-01-24 11:40:02 -06:00
variable-no-name.tf config: generate errors for unnamed blocks of various sources 2017-05-02 16:29:57 -07:00
variables.tf dos2unix 2014-07-28 10:43:00 -07:00
windows-line-endings.tf Add regression test for #4069 2015-12-01 13:37:18 -05:00