Skip to content

CFnv2: implement SSM parameter resolving #12934

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 38 commits into from
Aug 7, 2025

Conversation

simonrw
Copy link
Contributor

@simonrw simonrw commented Jul 30, 2025

Motivation

The CloudFormation v2 engine does not yet have the ability to resolve external SSM parameters wheh used in the Parameters position.

Changes

  • Introduce the concept of an EngineParameter which tracks the default, given and resolved values for the parameter
  • Resolve SSM parameters in the provider since it blocks change set creation on failure
  • Remove custom handling in the executor as this is too late in the deployment process
  • Hoist the fetching of the resource type for events up a level where we have access to the value rather than trying to read it from the template
  • Make _process_event require keyword arguments
  • Start to migrate away from stack.describe_details and put the logic into the provider where it belongs
  • Add validation that parameters are fulfilled i.e. either provided, from defaults or external
  • Don't set the stack template until change set execution has finished, in parity with AWS
  • Set the template on the change set object in parity with AWS
  • Add testing for resolivng SSM parameters and changing the value between stack deploys
  • Add testing for resolving SSM parameters that don't exist
  • Unskip TestImports as these now pass with add support for Exports/Imports in CFn v2 #12906

TODO (follow ups)

  • Add additional "external" types, e.g. AWS::SSM::Parameter::Value<StringList>

@simonrw simonrw added the semver: patch Non-breaking changes which can be included in patch releases label Jul 30, 2025
@simonrw simonrw changed the base branch from main to cfn/v2/describe-parameters-3 July 30, 2025 20:14
Copy link

github-actions bot commented Jul 30, 2025

Test Results - Preflight, Unit

22 063 tests  ±0   20 329 ✅ ±0   6m 23s ⏱️ +4s
     1 suites ±0    1 734 💤 ±0 
     1 files   ±0        0 ❌ ±0 

Results for commit d041253. ± Comparison against base commit aee64339.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Jul 30, 2025

Test Results (amd64) - Acceptance

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

Results for commit d041253. ± Comparison against base commit aee64339.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Jul 30, 2025

Test Results (amd64) - Integration, Bootstrap

    5 files      5 suites   2h 21m 32s ⏱️
4 972 tests 4 385 ✅ 587 💤 0 ❌
4 978 runs  4 385 ✅ 593 💤 0 ❌

Results for commit d041253.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Jul 30, 2025

LocalStack Community integration with Pro

    2 files  ±0      2 suites  ±0   1h 42m 13s ⏱️ -26s
4 613 tests +5  4 178 ✅ ±0  435 💤 +5  0 ❌ ±0 
4 615 runs  +5  4 178 ✅ ±0  437 💤 +5  0 ❌ ±0 

Results for commit d041253. ± Comparison against base commit aee64339.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Aug 5, 2025

S3 Image Test Results (AMD64 / ARM64)

    2 files    2 suites   9m 6s ⏱️
  515 tests 465 ✅  50 💤 0 ❌
1 030 runs  930 ✅ 100 💤 0 ❌

Results for commit e468948.

Copy link

github-actions bot commented Aug 5, 2025

Test Results (MA/MR) - Preflight, Unit

22 063 tests   20 329 ✅  6m 13s ⏱️
     1 suites   1 734 💤
     1 files         0 ❌

Results for commit e468948.

Copy link

github-actions bot commented Aug 5, 2025

Test Results (amd64, MA/MR) - Acceptance

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

Results for commit e468948.

@simonrw simonrw changed the base branch from cfn/v2/describe-parameters-3 to main August 5, 2025 17:11
Copy link

github-actions bot commented Aug 5, 2025

Test Results (amd64, MA/MR) - Integration, Bootstrap

    5 files      5 suites   2h 21m 44s ⏱️
4 964 tests 4 383 ✅ 581 💤 0 ❌
4 970 runs  4 383 ✅ 587 💤 0 ❌

Results for commit e468948.

@simonrw simonrw marked this pull request as ready for review August 6, 2025 13:51
@simonrw simonrw added the review: merge when ready Signals to the reviewer that a PR can be merged if accepted label Aug 6, 2025
Copy link
Member

@pinzon pinzon left a comment

Choose a reason for hiding this comment

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

LGTM. Just added a couple of suggestions.
Pretty interesting that we ended up resolving the paramters outside the other classes.

simonrw and others added 3 commits August 6, 2025 22:58
Co-authored-by: Cristopher Pinzón <18080804+pinzon@users.noreply.github.com>
Co-authored-by: Cristopher Pinzón <18080804+pinzon@users.noreply.github.com>
@simonrw simonrw merged commit e118075 into main Aug 7, 2025
40 checks passed
@simonrw simonrw deleted the cfn/v2/describe-parameters-3-implementation branch August 7, 2025 04:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
review: merge when ready Signals to the reviewer that a PR can be merged if accepted semver: patch Non-breaking changes which can be included in patch releases
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy