opentofu/internal/tofu/transform_expand.go
namgyalangmo cb2e9119aa
Update copyright notice (#1232)
Signed-off-by: namgyalangmo <75657887+namgyalangmo@users.noreply.github.com>
2024-02-08 09:48:59 +00:00

23 lines
894 B
Go

// Copyright (c) The OpenTofu Authors
// SPDX-License-Identifier: MPL-2.0
// Copyright (c) 2023 HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
package tofu
// GraphNodeDynamicExpandable is an interface that nodes can implement
// to signal that they can be expanded at eval-time (hence dynamic).
// These nodes are given the eval context and are expected to return
// a new subgraph.
type GraphNodeDynamicExpandable interface {
// DynamicExpand returns a new graph which will be treated as the dynamic
// subgraph of the receiving node.
//
// The second return value is of type error for historical reasons;
// it's valid (and most ideal) for DynamicExpand to return the result
// of calling ErrWithWarnings on a tfdiags.Diagnostics value instead,
// in which case the caller will unwrap it and gather the individual
// diagnostics.
DynamicExpand(EvalContext) (*Graph, error)
}