用于参数化 DeletionPolicy 的相同 CloudFormation 模板?

Same CloudFormation template to parameterize DeletionPolicy?

作为 DevOps 人员,我想使用相同的模板来配置 Dev 和 Prod 堆栈...其中开发堆栈不应有任何 DeletionPolicy,但 Prod 堆栈应使用 DeletionPolicy

因此,乍一看,CFT 提供了一个不错的工具,但是......无法参数化 S3 DeletionPolicy(我至少能够找到)......

这是我挖掘的一些话题

来自 AWS 的 建议的解决方法 是使整个资源有条件,这导致我们复制资源并创建 „Deletable„Undeletable 版本它和所有相关资源都应该处理这种情况...

这看起来很不稳定和臃肿,有没有办法参数化这个或更好的方法来实现我的最终目标?

CFT 中似乎没有资源复制以外的选项。

您可以做的是使用 Python 脚本创建一个 Lambda 来设置 S3 删除策略。该 Lambda 函数可以在 CloudFormation 堆栈创建期间通过 SNS 触发。这里描述了如何配置它:

但在您的特定情况下,我会在同一 CFT 中进行资源重复。