You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
AWS redeploys send changes for values AWS reorders or normalizes #13497
The second deploy sends changes to AWS even though nothing changed. GeneratePatch (pkg/aws/operations) compares the template with what Cloud Control returns, item by item and as plain values. It reports a change when:
An unordered array comes back in a different order.Tags, SubnetIds and other arrays the CloudFormation schema marks "insertionOrder": false (1,054 types have at least one) are compared position by position.
AWS normalizes a value. The schema's propertyTransform describes these, and GeneratePatch ignores it. For example:
EngineVersion: '8.4' comes back as 8.4.11
DBInstanceIdentifier: 'App-DB' comes back as app-db
KmsKeyId comes back as a full ARN
AWS reports an empty object. For example a log group's DataProtectionPolicy: {}. Flattening drops it, so every redeploy sends a remove.
Effects:
RDS: sending EngineVersion: '8.4' again makes RDS upgrade the instance to the default minor version and reboot it right away, whenever the running minor is below that default.
Create-only properties: a normalized value, such as a lowercased identifier, produces a change that Cloud Control rejects, so the redeploy fails.
Every type: each unchanged redeploy calls UpdateResource for no reason.
Desired behavior
An unchanged redeploy sends nothing to AWS:
Arrays marked "insertionOrder": false are compared ignoring order. If any item differs, the whole array is sent, as today.
Before comparing, the schema's propertyTransform is applied to the template's value, and AWS's value is matched against the result. Support $lowercase, $uppercase, $join, $string and $OR. A property whose transform uses any other function is compared as it is.
Empty objects that AWS reports are kept, unless the template sets values inside them.
Workaround
None. For RDS, set the full minor version, for example EngineVersion: '8.4.11'.
Activity
radius-triage commentedon Oct 26, 2026
👋 @kachawla Thanks for filing this bug report.
A project maintainer will review this report and get back to you soon. If you'd like immediate help troubleshooting, please visit our Discord server.
For more information on our triage process please visit our triage overview