terraform/internal/configs
Martin Atkins affe2c3295 addrs: Expose the registry address parser's error messages
Previously we ended up losing all of the error message detail produced by
the registry address parser, because we treated any registry address
failure as cause to parse the address as a go-getter-style remote address
instead.

That led to terrible feedback in the situation where the user _was_
trying to write a module address but it was invalid in some way.

Although we can't really tighten this up in the default case due to our
compatibility promises, it's never been valid to use the "version"
argument with anything other than a registry address and so as a
compromise here we'll use the presence of "version" as a heuristic for
user intent to parse the source address as a registry address, and thus
we can return a registry-address-specific error message in that case and
thus give more direct feedback about what was wrong.

This unfortunately won't help someone trying to install from the registry
_without_ a version constraint, but I didn't want to let perfect be the
enemy of the good here, particularly since we recommend using version
constraints with registry modules anyway; indeed, that's one of the main
benefits of using a registry rather than a remote source directly.
2021-11-30 15:46:16 -08:00
..
configload configs/configload: snapshotDir must be used via pointer 2021-10-12 11:42:17 -07:00
configschema configs: Add sensitive marks for nested attributes 2021-11-25 11:55:17 -05:00
hcl2shim
testdata addrs: Expose the registry address parser's error messages 2021-11-30 15:46:16 -08:00
backend.go
cloud.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
compat_shim.go
config.go backend/local: Check dependency lock consistency before any operations 2021-10-01 14:43:58 -07:00
config_build.go Refactoring of module source addresses and module installation 2021-06-03 08:50:34 -07:00
config_build_test.go Refactoring of module source addresses and module installation 2021-06-03 08:50:34 -07:00
config_test.go backend/local: Check dependency lock consistency before any operations 2021-10-01 14:43:58 -07:00
depends_on.go
doc.go
escaping_blocks_test.go
experiments.go experiments: config_driven_move has concluded 2021-11-01 08:46:15 -07:00
experiments_test.go
module.go Allow cloud block overrides 2021-10-28 19:29:09 -05:00
module_call.go addrs: Expose the registry address parser's error messages 2021-11-30 15:46:16 -08:00
module_call_test.go addrs: ModuleRegistryPackage for representing module registry packages 2021-06-03 08:50:34 -07:00
module_merge.go IgnoreAllChanges should override during merge 2021-11-01 19:08:30 +00:00
module_merge_body.go
module_merge_test.go add failing test for IgnoreAllChanges override 2021-11-01 19:00:54 +00:00
module_test.go Allow cloud block overrides 2021-10-28 19:29:09 -05:00
moved.go configs: For Moved blocks, use addrs.MoveEndpoint instead of addrs.Target 2021-07-01 08:28:02 -07:00
moved_test.go normalise test names 2021-11-14 21:51:53 +00:00
named_values.go allow nullable override 2021-10-29 17:20:14 -04:00
named_values_test.go
parser.go
parser_config.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
parser_config_dir.go
parser_config_dir_test.go configs: valid-modules test ignores experimental features warning 2021-07-01 08:28:02 -07:00
parser_config_test.go
parser_test.go Refactoring of module source addresses and module installation 2021-06-03 08:50:34 -07:00
parser_values.go
parser_values_test.go
provider.go
provider_meta.go
provider_requirements.go de-linting 2021-09-01 11:36:21 -04:00
provider_requirements_test.go
provider_test.go
provider_validation.go
provisioner.go
provisioneronfailure_string.go
provisionerwhen_string.go
resource.go
synth_body.go
synth_body_test.go
util.go
variable_type_hint.go
variabletypehint_string.go
version_constraint.go