Skip to content

Conversation

@orien
Copy link
Member

@orien orien commented Dec 19, 2025

Context

When default parameter values from the CloudFormation template are used, CloudFormation records them as strings. When StackMaster loads the default value from the template to present a diff, it uses the type as defined in the template: string, integer, boolean, or float. If the type doesn't match that stored in CloudFormation state, StackMaster erroneously thinks there's a change and presents a diff to the user. E.g.,

-FirehoseBufferingInterval: '120'
+FirehoseBufferingInterval: 120

Change

Avoid this problem by treating default parameter values in a manner consistent with CloudFormation: as strings.

@orien orien force-pushed the default-parameter-value-string branch from 21e5497 to 4eedc3e Compare December 19, 2025 02:56
@orien orien force-pushed the default-parameter-value-string branch from 4eedc3e to 203aabb Compare December 19, 2025 03:13
@orien orien marked this pull request as ready for review December 19, 2025 03:24
@orien orien requested a review from simpson-ross December 19, 2025 03:24
Copy link
Contributor

@simpson-ross simpson-ross left a comment

Choose a reason for hiding this comment

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

It's frustrating that CloudFormation doesn't use the defined type of the parameter for that parameter's default value, but here we are. It'd be interesting to know what happens for more complex types that can't be meaningfully coerced into strings (like a list).

In any case, suppressing that false-positive diff output is a good outcome, so 👍, and thank you!

@orien orien merged commit b9b8fc3 into master Dec 19, 2025
22 checks passed
@orien orien deleted the default-parameter-value-string branch December 19, 2025 08:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants