terraform/configs
Alisdair McDiarmid dcb8b45e0f configs: Fix for resources with implied providers
Previously, resources without explicit provider configuration (i.e. a
`provider =` attribute) would be assigned a default provider based upon
the resource type. For example, a resource `foo_bar` would be assigned
provider `hashicorp/foo`.

This behaviour did not work well with community or partner providers,
with sources configured in `terraform.required_providers` blocks. With
the following configuration:

    terraform {
      required_providers {
        foo = {
          source = "acme/foo"
        }
      }
    }

    resource foo_bar "a" { }

the resource would be configured with the `hashicorp/foo` provider.

This commit fixes this implied provider behaviour. First we look for a
provider with local name matching the resource type in the module's
required providers map. If one is found, this provider is assigned to
the resource. Otherwise, we still fall back to a default provider.
2020-04-28 14:54:31 -04:00
..
configload configs: use local set of go-getter detectors 2020-01-07 09:38:46 -08:00
configschema Add support for provider metadata to modules. (#22583) 2020-03-05 16:53:24 -08:00
hcl2shim vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
testdata configs: Fix for resources with implied providers 2020-04-28 14:54:31 -04: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: Warn for deprecated interpolation and quoted type constraints 2019-11-13 07:55:55 -08:00
config.go configs: Simplify required_providers blocks 2020-04-24 13:44:08 -04:00
config_build.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
config_build_test.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
config_test.go command/providers: refactor with new provider types and functions 2020-04-10 15:08:10 -04: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 config: Allow module authors to specify validation rules for variables 2020-01-10 15:23:25 -08:00
experiments_test.go experiments: a mechanism for opt-in experimental language features 2019-12-10 09:27:05 -08:00
module.go configs: Fix for resources with implied providers 2020-04-28 14:54:31 -04:00
module_call.go don't allow count && for_each 2020-04-07 14:18:08 -04:00
module_call_test.go don't allow count && for_each 2020-04-07 14:18:08 -04:00
module_merge.go configs: Simplify required_providers blocks 2020-04-24 13:44:08 -04:00
module_merge_body.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
module_merge_test.go configs: Simplify required_providers blocks 2020-04-24 13:44:08 -04:00
module_test.go configs: Fix for resources with implied providers 2020-04-28 14:54:31 -04:00
named_values.go config: Allow module authors to specify validation rules for variables 2020-01-10 15:23:25 -08: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 terraform: provider source test (#24342) 2020-03-12 12:00:00 -04: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 Initial steps towards AbsProviderConfig/LocalProviderConfig separation (#23978) 2020-01-31 08:23:07 -05:00
provider_meta.go Add support for provider metadata to modules. (#22583) 2020-03-05 16:53:24 -08:00
provider_requirements.go configs: Simplify required_providers blocks 2020-04-24 13:44:08 -04:00
provider_requirements_test.go configs: Simplify required_providers blocks 2020-04-24 13:44:08 -04:00
provider_test.go terraform: provider source test (#24342) 2020-03-12 12:00:00 -04:00
provisioner.go convert destroy provisioner warnings to errors 2020-02-13 15:42:10 -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 terraform: large refactor to use Provider from configs.Resource (#24396) 2020-03-18 08:58:20 -04: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