# Can't push updates due to Cloudformation RDS template change

**URL:** <https://community.convox.com/t/cant-push-updates-due-to-cloudformation-rds-template-change/671>\
**Category:** Rack (Version 2)\
**Created:** [December 19, 2019, 5:13pm UTC](https://community.convox.com/t/cant-push-updates-due-to-cloudformation-rds-template-change/671 "2019-12-19T17:13:17Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![ssg](https://avatars.discourse-cdn.com/v4/letter/s/e68b1a/32.png) [@ssg](https://community.convox.com/u/ssg)\
**Post date:** [December 19, 2019, 5:13pm UTC](https://community.convox.com/t/cant-push-updates-due-to-cloudformation-rds-template-change/671/1 "2019-12-19T17:13:17Z")

</div>

We have an RDS database resource managed by Convox on a v2 rack. We’re trying to push a minor update to application code (unrelated to the database), but are running into a Cloudformation error:

> CloudFormation cannot update a stack when a custom-named resource requires replacing. Rename \<rack/app\>-resourcedatabase-1gt9fi9e87e0c and update the stack again.

Digging deeper, I see that the only diff between the steady-state Cloudformation template and the template that Convox is trying to push to AWS is that the new template has `StorageEncrypted: Ref !Encrypted`, and since Encrypted is false, what its trying to do is set the StorageEncrypted from an unset, implicit default to an explicit “false”. That’s all well and good, except that setting this attribute on an RDS instance requires replacement.

I cannot understand why this attribute is only now being set. This attribute was added to the postgres.tmpl Cloudformation template back in Nov 2017, but our rack was never even running on a version from 2017:

> $ convox rack releases  
> VERSION UPDATED  
> 20190126182547 3 weeks ago  
> 20190111211123 11 months ago  
> 20180815173013 1 year ago  
> 20180730192707 1 year ago

I see that there is a rack option for postgres called `DatabaseSnapshotIdentifier`, but it seems like this will attempt to set that var for ALL postgres resources we have, and destroy/replace all of them.

How do I get out of this state? Open to replacing the RDS instance, as painful as that is, but can’t even see a safe way to do so.

---

<div class="post-metadata">

**Author:** ![julian](https://yyz1.discourse-cdn.com/flex029/user_avatar/community.convox.com/julian/32/35_2.png) [@julian](https://community.convox.com/u/julian)\
**Post date:** [December 19, 2019, 6:59pm UTC](https://community.convox.com/t/cant-push-updates-due-to-cloudformation-rds-template-change/671/2 "2019-12-19T18:59:54Z")

</div>

I might be wrong, but I don’t believe CloudFormation will throw this warning unless the setting on the RDS instance itself will change, regardless of the CF definition changing. Have you tried setting the configuration explicitly to false in your config?

---

<div class="post-metadata">

**Author:** ![ssg](https://avatars.discourse-cdn.com/v4/letter/s/e68b1a/32.png) [@ssg](https://community.convox.com/u/ssg)\
**Post date:** [December 19, 2019, 7:22pm UTC](https://community.convox.com/t/cant-push-updates-due-to-cloudformation-rds-template-change/671/3 "2019-12-19T19:22:29Z")

</div>

Which config are you referring to?

You may be right about CF, but for what its worth, we can see that the instance is not using encryption right now, and that during the attempted update, the Encrypted parameter is “false”.
