terraform/internal/earlyconfig
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
..
testdata/provider-reqs internal/getproviders: A new shared model for provider requirements 2020-03-27 09:01:32 -07:00
config.go Refactoring of module source addresses and module installation 2021-06-03 08:50:34 -07:00
config_build.go addrs: Expose the registry address parser's error messages 2021-11-30 15:46:16 -08:00
config_test.go Refactoring of module source addresses and module installation 2021-06-03 08:50:34 -07:00
diagnostics.go Move tfdiags/ to internal/tfdiags/ 2021-05-17 14:09:07 -07:00
doc.go internal/earlyconfig: Liberal config parsing for init 2019-01-14 11:33:21 -08:00
module.go Move tfdiags/ to internal/tfdiags/ 2021-05-17 14:09:07 -07:00