use centralized arguments collection in import

pull/38190/head
Daniel Schmidt 3 months ago
parent b883c69e3b
commit 3dce16079c

@ -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
}

Loading…
Cancel
Save