ephemerals: allow root ephemeral outputs in stacks and test #37813
+327
−99
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Backport after 1.14.0 release.
We currently prevent root modules from exposing ephemeral values via outputs. This makes total sense as the ephemeral values shouldn't be saved or exposed anywhere.
However, in both stacks and terraform test, we sometimes pretend that a module is a root module when it isn't really. This PR disables the ephemeral check within Terraform Test and Terraform Stacks. For Stacks this is fine, as there are additional checks at the higher level to prevent stack outputs themselves being ephemeral. For Terraform Test we want people to actually test non-root modules, so we do need Core to support ephemeral outputs at the root module as the module being tested might not be intended to be consumed as a root module anyway.
Fixes #37805
Target Release
1.15.x
Rollback Plan
Changes to Security Controls
Are there any changes to security controls (access controls, encryption, logging) in this pull request? If so, explain.
CHANGELOG entry