var.create && var.create_iam_role evaluated before the creation of the map not after #2509
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.
Description
This PR fixes the issue with the for_each expression in the code, where var.create_iam_role was unable to overwrite a broken for_each expression. It changes the code to evaluate user variables first, and then if they are true, evaluates the list comprehension.
Motivation and Context
The issue with the for_each expression in the code has been reported in multiple issues (#2337, #1753, and #2411), and this PR aims to fix it for users creating their own iam role. This change evaluates user variables first, and then if they are true, evaluates the list comprehension, which solves an issue if some locals are only known after apply. See full comment #2458 (comment)
Breaking Changes
There are no breaking changes with this PR.
How Has This Been Tested?
I apologize as I have no reproducible minimum for you to evaluate on, hopefully someone else can provide it.