-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
CloudFormation: Update Graph Preprocessor #12447
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
LocalStack Community integration with Pro 2 files ± 0 2 suites ±0 1h 51m 46s ⏱️ - 2m 1s Results for commit 177db4c. ± Comparison against base commit 245ebe0. This pull request skips 16 tests.
♻️ This comment has been updated with latest results. |
This was required to prevent `order_changes` -> `order_resources` to correctly determine if a reference is a resource or not.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
semver: minor
Non-breaking changes which can be included in minor releases, but not in patch releases
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.
Motivation
Downstream components such as the Change Set Describer and the Change Set Executor require consistent access to resolved template values—including intrinsic functions, parameters, conditions, and mappings. Additionally, the current UpdateGraph implementation exposes too much of its internal complexity to downstream consumers. This results in overly tight coupling and the dealing with tedious logic in tasks that should remain focused on higher-level concerns.
This PR addresses these concerns by introducing a Preprocessor base class within the UpdateGraph visitor pattern. The Preprocessor consolidates resolution logic and exposes clean, structured data for both the “before” and “after” versions of a template. These changes also address a considerable number of fixes and improvements to the logic of the update graph modeler and the preprocessing.
Changes