From 0b4e468de635203cde19ceac5a9e2ed964b4cff4 Mon Sep 17 00:00:00 2001 From: James Bardin Date: Fri, 12 Jan 2024 15:18:41 -0500 Subject: [PATCH] error when ReadResource returns unknown value --- .../terraform/node_resource_abstract_instance.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/internal/terraform/node_resource_abstract_instance.go b/internal/terraform/node_resource_abstract_instance.go index d3e969d629..960da8599e 100644 --- a/internal/terraform/node_resource_abstract_instance.go +++ b/internal/terraform/node_resource_abstract_instance.go @@ -656,13 +656,24 @@ func (n *NodeAbstractResourceInstance) refresh(ctx EvalContext, deposedKey state panic("new state is cty.NilVal") } + if !resp.NewState.IsWhollyKnown() { + diags = diags.Append(tfdiags.Sourceless( + tfdiags.Error, + "Provider produced invalid object", + fmt.Sprintf( + "Provider %q planned an invalid value for %s during refresh: %s.\n\nThis is a bug in the provider, which should be reported in the provider's own issue tracker.", + n.ResolvedProvider.Provider, absAddr, "The returned state contains unknown values", + ), + )) + } + for _, err := range resp.NewState.Type().TestConformance(schema.ImpliedType()) { diags = diags.Append(tfdiags.Sourceless( tfdiags.Error, "Provider produced invalid object", fmt.Sprintf( "Provider %q planned an invalid value for %s during refresh: %s.\n\nThis is a bug in the provider, which should be reported in the provider's own issue tracker.", - n.ResolvedProvider.Provider.String(), absAddr, tfdiags.FormatError(err), + n.ResolvedProvider.Provider, absAddr, tfdiags.FormatError(err), ), )) }