@@ -5,6 +5,8 @@ package jobs
5
5
6
6
import (
7
7
"context"
8
+ tfaddr "github.com/hashicorp/terraform-registry-address"
9
+ "github.com/hashicorp/terraform-schema/module"
8
10
"log"
9
11
10
12
"github.com/hashicorp/terraform-ls/internal/document"
@@ -89,19 +91,36 @@ func loadSearchModuleSources(searchMeta *tfsearch.Meta, moduleFeature searchDeco
89
91
}
90
92
91
93
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
+ }
92
113
// Convert from module provider references to search provider references
93
114
for moduleProviderRef , provider := range modMeta .ProviderReferences {
94
115
searchProviderRef := tfsearch.ProviderRef {
95
116
LocalName : moduleProviderRef .LocalName ,
96
117
Alias : moduleProviderRef .Alias ,
97
118
}
119
+ if searchMeta .ProviderReferences == nil {
120
+ searchMeta .ProviderReferences = make (map [tfsearch.ProviderRef ]tfaddr.Provider )
121
+ }
98
122
searchMeta .ProviderReferences [searchProviderRef ] = provider
99
123
}
100
-
101
- // Copy provider requirements
102
- for provider , constraints := range modMeta .ProviderRequirements {
103
- searchMeta .ProviderRequirements [provider ] = constraints
104
- }
105
124
}
106
125
107
126
return nil
0 commit comments