terraform/configs
Alisdair McDiarmid 7cae76383a cli: Fix for provider requirements in JSON plan
The JSON plan output format includes a serialized, simplified version of
the configuration. One component of this config is a map of provider
configurations, which includes version constraints.

Until now, only version constraints specified in the provider config
blocks were exposed in the JSON plan output. This is a deprecated method
of specifying provider versions, and the recommended use of a
required_providers block resulted in the version constraints being
omitted.

This commit fixes this with two changes:

- When processing the provider configurations from a module, output the
  fully-merged version constraints for the entire module, instead of any
  constraints set in the provider configuration block itself;
- After all provider configurations are processed, iterate over the
  required_providers entries to ensure that any configuration-less
  providers are output to the JSON plan too.

No changes are necessary to the structure of the JSON plan output, so
this is effectively a semantic level bug fix.
2021-02-05 14:01:58 -05:00
..
configload configs/configload: staticcheck 2020-12-02 13:59:19 -05:00
configschema Block.AttribuuteByPath 2021-01-12 16:31:18 -05:00
hcl2shim core: Remove the last few HIL remnants 2020-09-02 15:53:33 -07:00
testdata Merge pull request #26938 from hashicorp/pselle/remove-vendor-provisioners 2020-12-02 11:48:40 -05:00
backend.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
compat_shim.go configs: Specialized warning for single-interpolation object keys 2020-11-18 08:01:05 -08:00
compat_shim_test.go configs: Specialized warning for single-interpolation object keys 2020-11-18 08:01:05 -08:00
config.go cli: Fix for provider requirements in JSON plan 2021-02-05 14:01:58 -05:00
config_build.go configs: Emit a warning for backends in nested modules 2020-11-18 08:20:25 -08:00
config_build_test.go configs: Emit a warning for backends in nested modules 2020-11-18 08:20:25 -08:00
config_test.go cli: Fix for provider requirements in JSON plan 2021-02-05 14:01:58 -05:00
depends_on.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
doc.go configs: Additional guidance in doc.go 2018-02-15 15:56:39 -08:00
experiments.go configs: Experimental support for optional object type attributes 2020-10-12 10:12:28 -07:00
experiments_test.go experiments: a mechanism for opt-in experimental language features 2019-12-10 09:27:05 -08:00
module.go configs: staticcheck 2020-12-02 13:59:19 -05:00
module_call.go configs: More interpolation-only expr deprecations 2020-09-02 16:36:47 -04:00
module_call_test.go allow depends_on in module call 2020-05-20 13:46:13 -04:00
module_merge.go Implement module merge for sensitive config 2020-09-30 17:25:54 -04:00
module_merge_body.go configs: staticcheck 2020-12-02 13:59:19 -05:00
module_merge_test.go Remove sensitive_variables experiment 2020-10-08 11:22:20 -04:00
module_test.go remove LegacyProvider (#26433) 2020-10-05 08:33:49 -04:00
named_values.go configs: Experimental support for optional object type attributes 2020-10-12 10:12:28 -07:00
named_values_test.go config/name_values: fix index out of range in looksLikeSentences 2020-06-05 13:29:43 +02:00
parser.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
parser_config.go configs: Simplify required_providers blocks 2020-04-24 13:44:08 -04:00
parser_config_dir.go fix diagnostics handling 2019-11-21 09:14:50 -05:00
parser_config_dir_test.go move IsEmptyDir to configs package 2019-07-18 13:07:10 -04:00
parser_config_test.go fix comment text 2020-02-13 20:46:48 -05:00
parser_test.go configs: staticcheck 2020-12-02 13:59:19 -05:00
parser_values.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
parser_values_test.go configs: update values file invalid syntax test for new HCL behavior 2018-03-08 11:17:39 -08:00
provider.go configs: deprecate version argument inside provider configuration blocks (#26135) 2020-09-08 08:19:00 -04:00
provider_meta.go configs: require normalized provider local names (#24945) 2020-05-14 09:00:58 -04:00
provider_requirements.go configs: Error on invalid required_providers attrs 2020-09-09 11:52:47 -04:00
provider_requirements_test.go configs: Error on invalid required_providers attrs 2020-09-09 11:52:47 -04:00
provider_test.go configs: deprecate version argument inside provider configuration blocks (#26135) 2020-09-08 08:19:00 -04:00
provisioner.go Remove vendor provisioners and add fmt Make target 2020-11-17 11:22:03 -05:00
provisioneronfailure_string.go stringer: Regenerate files with latest version 2019-05-13 15:34:27 +01:00
provisionerwhen_string.go stringer: Regenerate files with latest version 2019-05-13 15:34:27 +01:00
resource.go configs: Fix provider lookup local name mismatch 2020-11-10 15:25:02 -05:00
synth_body.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
synth_body_test.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
util.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
variable_type_hint.go Version tools per Go convention under tools.go 2019-10-17 22:23:39 +02:00
variabletypehint_string.go stringer: Regenerate files with latest version 2019-05-13 15:34:27 +01:00
version_constraint.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00