diff --git a/internal/command/import.go b/internal/command/import.go index 0e63856977..8418030f7d 100644 --- a/internal/command/import.go +++ b/internal/command/import.go @@ -42,12 +42,6 @@ func (c *ImportCommand) Run(args []string) int { c.Meta.compactWarnings = parsedArgs.CompactWarnings c.Meta.targetFlags = parsedArgs.TargetFlags - varItems := parsedArgs.Vars.All() - c.Meta.variableArgs = arguments.FlagNameValueSlice{ - FlagName: "-var", - Items: &varItems, - } - if diags.HasErrors() { c.showDiagnostics(diags) c.Ui.Error(c.Help()) @@ -186,10 +180,22 @@ func (c *ImportCommand) Run(args []string) int { } opReq.Hooks = []terraform.Hook{c.uiHook()} { - var moreDiags tfdiags.Diagnostics - opReq.Variables, moreDiags = c.collectVariableValues() - diags = diags.Append(moreDiags) - if moreDiags.HasErrors() { + + loader, err := c.initConfigLoader() + if err != nil { + diags = diags.Append(err) + c.showDiagnostics(diags) + return 1 + } + + // Collect variable value and add them to the operation request + var varDiags tfdiags.Diagnostics + opReq.Variables, varDiags = parsedArgs.Vars.CollectValues(func(filename string, src []byte) { + loader.Parser().ForceFileSource(filename, src) + }) + diags = diags.Append(varDiags) + + if varDiags.HasErrors() { c.showDiagnostics(diags) return 1 }