Skip to content

Conversation

@MEPalma
Copy link
Contributor

@MEPalma MEPalma commented Jun 3, 2025

Motivation

The introduction of the CloudFormation v2 engine laid the foundation for a redesigned engine capable of accurately determining update requirements between CloudFormation deployments, while also enabling parallel execution during updates. However, the current implementation has some parity limitations around the use of Fn::Sub.

Changes

  • Support for attribute references in Fn::Sub string templates
  • Ported Fn::Sub return value casting from v1 with FIXME note for future efforts
  • Resolved missing references errors to after values during change set describe
  • Simplified the logic for Fn::GetAtt for reuse in logics such as in Fn::Sub
  • Unblocked failing tests

@MEPalma MEPalma added this to the 4.5 milestone Jun 3, 2025
@MEPalma MEPalma self-assigned this Jun 3, 2025
@MEPalma MEPalma added the semver: minor Non-breaking changes which can be included in minor releases, but not in patch releases label Jun 3, 2025
@github-actions
Copy link

github-actions bot commented Jun 3, 2025

Test Results - Preflight, Unit

21 595 tests  ±0   19 940 ✅ ±0   6m 23s ⏱️ +4s
     1 suites ±0    1 655 💤 ±0 
     1 files   ±0        0 ❌ ±0 

Results for commit 656cf68. ± Comparison against base commit 94db52d.

♻️ This comment has been updated with latest results.

@github-actions
Copy link

github-actions bot commented Jun 3, 2025

Test Results (amd64) - Acceptance

7 tests  ±0   5 ✅ ±0   3m 11s ⏱️ -3s
1 suites ±0   2 💤 ±0 
1 files   ±0   0 ❌ ±0 

Results for commit 656cf68. ± Comparison against base commit 94db52d.

♻️ This comment has been updated with latest results.

@github-actions
Copy link

github-actions bot commented Jun 3, 2025

LocalStack Community integration with Pro

  2 files    2 suites   21m 53s ⏱️
885 tests 319 ✅ 566 💤 0 ❌
887 runs  319 ✅ 568 💤 0 ❌

Results for commit 656cf68.

♻️ This comment has been updated with latest results.

@github-actions
Copy link

github-actions bot commented Jun 3, 2025

Test Results - Alternative Providers

986 tests   573 ✅  22m 41s ⏱️
  4 suites  413 💤
  4 files      0 ❌

Results for commit 656cf68.

♻️ This comment has been updated with latest results.

@github-actions
Copy link

github-actions bot commented Jun 3, 2025

Test Results (amd64) - Integration, Bootstrap

    5 files      5 suites   2h 54m 35s ⏱️
5 227 tests 4 297 ✅ 929 💤 1 ❌
5 233 runs  4 297 ✅ 935 💤 1 ❌

For more details on these failures, see this check.

Results for commit 656cf68.

♻️ This comment has been updated with latest results.

Base automatically changed from MEP-CFN-fn_base64 to master June 3, 2025 17:34
@tiurin tiurin modified the milestones: 4.5, 4.6 Jun 4, 2025
Copy link
Contributor

@simonrw simonrw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome stuff, thanks Marco!

def _resolve_intrinsic_function_fn_sub(self, arguments: ChangeSetEntity) -> ChangeType:
# TODO: This routine should instead export the implicit Ref and GetAtt calls within the first
# string template parameter and compute the respective change set types. Currently,
# changes referenced byu Fn::Sub templates are only picked up during preprocessing; not
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# changes referenced byu Fn::Sub templates are only picked up during preprocessing; not
# changes referenced by Fn::Sub templates are only picked up during preprocessing; not

for template_variable_name in template_variable_names:
template_variable_value = Nothing

# Try to resolve the variable name as pseudo parameter.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

praise: thanks for adding these structural comments!

@localstack-bot
Copy link
Contributor

Currently, only patch changes are allowed on master. Your PR labels (semver: minor) indicate that it cannot be merged into the master at this time.

@MEPalma MEPalma merged commit c22632d into master Jun 6, 2025
74 of 80 checks passed
@MEPalma MEPalma deleted the MEP-CFN-fn_fixes branch June 6, 2025 11:58
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants