diff --git a/backend/local/backend_apply.go b/backend/local/backend_apply.go index 8604d3ff93..8be67f472e 100644 --- a/backend/local/backend_apply.go +++ b/backend/local/backend_apply.go @@ -65,9 +65,9 @@ func (b *Local) opApply( // If we're refreshing before apply, perform that if op.PlanRefresh { log.Printf("[INFO] backend/local: apply calling Refresh") - _, err := tfCtx.Refresh() - if err != nil { - diags = diags.Append(err) + _, refreshDiags := tfCtx.Refresh() + diags = diags.Append(refreshDiags) + if diags.HasErrors() { runningOp.Result = backend.OperationFailure b.ShowDiagnostics(diags) return diff --git a/backend/local/backend_plan.go b/backend/local/backend_plan.go index 247076d315..ed51acc986 100644 --- a/backend/local/backend_plan.go +++ b/backend/local/backend_plan.go @@ -86,9 +86,9 @@ func (b *Local) opPlan( b.CLI.Output(b.Colorize().Color(strings.TrimSpace(planRefreshing) + "\n")) } - refreshedState, err := tfCtx.Refresh() - if err != nil { - diags = diags.Append(err) + refreshedState, refreshDiags := tfCtx.Refresh() + diags = diags.Append(refreshDiags) + if diags.HasErrors() { b.ReportResult(runningOp, diags) return } diff --git a/configs/parser_config_dir.go b/configs/parser_config_dir.go index afdd69833f..2923af93a0 100644 --- a/configs/parser_config_dir.go +++ b/configs/parser_config_dir.go @@ -154,9 +154,9 @@ func IsEmptyDir(path string) (bool, error) { } p := NewParser(nil) - fs, os, err := p.dirFiles(path) - if err != nil { - return false, err + fs, os, diags := p.dirFiles(path) + if diags.HasErrors() { + return false, diags } return len(fs) == 0 && len(os) == 0, nil diff --git a/terraform/node_resource_abstract.go b/terraform/node_resource_abstract.go index bdf62ab266..8d6f018327 100644 --- a/terraform/node_resource_abstract.go +++ b/terraform/node_resource_abstract.go @@ -170,12 +170,12 @@ func (n *NodeAbstractResource) References() []*addrs.Reference { var result []*addrs.Reference for _, traversal := range c.DependsOn { - ref, err := addrs.ParseRef(traversal) - if err != nil { + ref, diags := addrs.ParseRef(traversal) + if diags.HasErrors() { // We ignore this here, because this isn't a suitable place to return // errors. This situation should be caught and rejected during // validation. - log.Printf("[ERROR] Can't parse %#v from depends_on as reference: %s", traversal, err) + log.Printf("[ERROR] Can't parse %#v from depends_on as reference: %s", traversal, diags.Err()) continue } diff --git a/tfdiags/contextual.go b/tfdiags/contextual.go index 59c06b70b5..d55bc2f0ce 100644 --- a/tfdiags/contextual.go +++ b/tfdiags/contextual.go @@ -308,8 +308,8 @@ func hclRangeFromIndexStepAndAttribute(idxStep cty.IndexStep, attr *hcl.Attribut } stepKey := idxStep.Key.AsString() for _, kvPair := range pairs { - key, err := kvPair.Key.Value(nil) - if err != nil { + key, diags := kvPair.Key.Value(nil) + if diags.HasErrors() { return attr.Expr.Range() } if key.AsString() == stepKey {