From 0f28ee1a82edebce99354dde98de8ff750b2c98c Mon Sep 17 00:00:00 2001 From: Daniel Schmidt Date: Tue, 15 Jul 2025 11:04:38 +0200 Subject: [PATCH] handle actions without config block --- internal/terraform/node_action_instance.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/internal/terraform/node_action_instance.go b/internal/terraform/node_action_instance.go index 01cfda87d7..2996c9d8bc 100644 --- a/internal/terraform/node_action_instance.go +++ b/internal/terraform/node_action_instance.go @@ -12,6 +12,7 @@ import ( "github.com/hashicorp/terraform/internal/lang/langrefs" "github.com/hashicorp/terraform/internal/providers" "github.com/hashicorp/terraform/internal/tfdiags" + "github.com/zclconf/go-cty/cty" ) // NodeActionDeclarationInstance represents an action in a particular module. @@ -78,11 +79,15 @@ func (n *NodeActionDeclarationInstance) Execute(ctx EvalContext, _ walkOperation allInsts := ctx.InstanceExpander() keyData := allInsts.GetActionInstanceRepetitionData(n.Addr) - configVal, _, configDiags := ctx.EvaluateBlock(n.Config.Config, schema.ConfigSchema.DeepCopy(), nil, keyData) + configVal := cty.NullVal(schema.ConfigSchema.ImpliedType()) + if n.Config.Config != nil { + var configDiags tfdiags.Diagnostics + configVal, _, configDiags = ctx.EvaluateBlock(n.Config.Config, schema.ConfigSchema.DeepCopy(), nil, keyData) - diags = diags.Append(configDiags) - if diags.HasErrors() { - return diags + diags = diags.Append(configDiags) + if diags.HasErrors() { + return diags + } } ctx.Actions().AddActionInstance(n.Addr, configVal, n.ResolvedProvider)