From c4f129f454b3d28933c663c7f06eefbb606fb457 Mon Sep 17 00:00:00 2001 From: Daniel Schmidt Date: Mon, 25 Aug 2025 13:53:50 +0200 Subject: [PATCH] refactor deferred resource encoding to use shared schema --- internal/terraform/context_plan.go | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/internal/terraform/context_plan.go b/internal/terraform/context_plan.go index 155b26f3b7..58f6465149 100644 --- a/internal/terraform/context_plan.go +++ b/internal/terraform/context_plan.go @@ -841,7 +841,7 @@ func (c *Context) planWalk(config *configs.Config, prevRunState *states.State, o } if !schemaDiags.HasErrors() { - deferredResources, deferredDiags := c.deferredResources(config, walker.Deferrals.GetDeferredChanges(), priorState) + deferredResources, deferredDiags := c.deferredResources(schemas, walker.Deferrals.GetDeferredChanges()) diags = diags.Append(deferredDiags) plan.DeferredResources = deferredResources @@ -890,16 +890,11 @@ func (c *Context) planWalk(config *configs.Config, prevRunState *states.State, o return plan, evalScope, diags } -func (c *Context) deferredResources(config *configs.Config, deferrals []*plans.DeferredResourceInstanceChange, state *states.State) ([]*plans.DeferredResourceInstanceChangeSrc, tfdiags.Diagnostics) { +func (c *Context) deferredResources(schemas *Schemas, deferrals []*plans.DeferredResourceInstanceChange) ([]*plans.DeferredResourceInstanceChangeSrc, tfdiags.Diagnostics) { + var diags tfdiags.Diagnostics var deferredResources []*plans.DeferredResourceInstanceChangeSrc - schemas, diags := c.Schemas(config, state) - if diags.HasErrors() { - return deferredResources, diags - } - for _, deferral := range deferrals { - schema := schemas.ResourceTypeConfig( deferral.Change.ProviderAddr.Provider, deferral.Change.Addr.Resource.Resource.Mode,