gpt4 book ai didi

amazon-web-services - Cloudformation模板格式错误: Every DeletionPolicy member must be a string

转载 作者:行者123 更新时间:2023-12-03 22:33:35 25 4
gpt4 key购买 nike

您好,我正在尝试使用“IF”函数,就像 RDS DeletionPolicy 的云形成文档中提到的那样,但由于某种原因,它说我的函数不返回字符串。

AWS Documentation on conditional statements

条件如下:

 "DeletionPolicy" : {
"Fn::If" : [
"CreateProdResources",
"Snapshot",
"Delete"
]}

错误就是标题中的错误:

Template validation error: Template format error: Every DeletionPolicy member must be a string.

其他无效的尝试:

带有 map :

 "RdsDeletionPolicyMap" :{
"production" : {
"policy" : "Snapshot"
},
"staging" : {
"policy" : "Delete"
}
}

然后:

   "DeletionPolicy" : {
"Fn::FindInMap" : [ "RdsDeletionPolicyMap", {"Ref": "RailsEnvironment"}, "policy" ]
}

以及简单的 "Ref": ... 也不起作用。我高度怀疑这是 cloudformation 的错误

最佳答案

问题是 DeletionPolicy 必须设置为三个字符串之一。而且,虽然您的 If 检查将返回其中之一,但从系统的角度来看,它只知道它返回一个字符串 - 但不能保证是一个有效的字符串(与您的映射和参数检查相同),因此它只接受字符串文字,而不是解析为字符串的内容。

我认为这个限制之前已经向 AWS 工程团队提出过,因为它很麻烦。

关于amazon-web-services - Cloudformation模板格式错误: Every DeletionPolicy member must be a string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34286395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com