Skip to content

Commit 694dee9

Browse files
committed
Update metadata to update provider references correctly.
This reverts commit 21a998a.
1 parent 21a998a commit 694dee9

File tree

1 file changed

+24
-5
lines changed

1 file changed

+24
-5
lines changed

internal/features/search/jobs/metadata.go

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ package jobs
55

66
import (
77
"context"
8+
tfaddr "github.com/hashicorp/terraform-registry-address"
9+
"github.com/hashicorp/terraform-schema/module"
810
"log"
911

1012
"github.com/hashicorp/terraform-ls/internal/document"
@@ -89,19 +91,36 @@ func loadSearchModuleSources(searchMeta *tfsearch.Meta, moduleFeature searchDeco
8991
}
9092

9193
if modMeta != nil {
94+
if searchMeta.ProviderRequirements == nil {
95+
searchMeta.ProviderRequirements = make(tfsearch.ProviderRequirements)
96+
}
97+
// Copy provider requirements
98+
for provider, constraints := range modMeta.ProviderRequirements {
99+
searchMeta.ProviderRequirements[provider] = constraints
100+
}
101+
102+
for rf := range searchMeta.ProviderReferences {
103+
src := modMeta.ProviderReferences[module.ProviderRef{
104+
LocalName: rf.LocalName,
105+
}]
106+
if rf.Alias != "" {
107+
searchMeta.ProviderReferences[tfsearch.ProviderRef{
108+
LocalName: rf.LocalName,
109+
Alias: rf.Alias,
110+
}] = src
111+
}
112+
}
92113
// Convert from module provider references to search provider references
93114
for moduleProviderRef, provider := range modMeta.ProviderReferences {
94115
searchProviderRef := tfsearch.ProviderRef{
95116
LocalName: moduleProviderRef.LocalName,
96117
Alias: moduleProviderRef.Alias,
97118
}
119+
if searchMeta.ProviderReferences == nil {
120+
searchMeta.ProviderReferences = make(map[tfsearch.ProviderRef]tfaddr.Provider)
121+
}
98122
searchMeta.ProviderReferences[searchProviderRef] = provider
99123
}
100-
101-
// Copy provider requirements
102-
for provider, constraints := range modMeta.ProviderRequirements {
103-
searchMeta.ProviderRequirements[provider] = constraints
104-
}
105124
}
106125

107126
return nil

0 commit comments

Comments
 (0)