mirror of
https://github.com/opentofu/opentofu.git
synced 2025-02-25 18:45:20 -06:00
Previously we would interpolate the count config (ResourceConfig.RawCount) only while preparing to dynamic-expand aggregate resource nodes. This is problematic because we do not dynamic-expand any resource nodes during the apply walk, and so previously the count value was not available for interpolation during apply and would result in an error. Now we interpolate RawCount once for each resource we visit during the apply walk -- even though that redundantly interpolates the same config multiple times when count > 1 -- to ensure that it's available by the time we interpolate any remaining expressions in the config and any expressions within "connection" and "provisioner" blocks. This error was masked by us sharing a single RawConfig instance between the plan and apply walks when "terraform apply" is run with no explicit plan file argument, but was exposed by the workflow where the plan is written first to disk since in that case the interpolation result from during the plan phase is not present in the deflated plan object. For this reason, the new context test serializes the plan into an in-memory buffer and reloads it in order to simulate the effect of the two-step workflow. |
||
---|---|---|
.. | ||
provisioner-interp-count.tf |