我正在尝试验证Cloudformation模板。我发出的命令是:
▶ aws cloudformation validate-template --template-body file://template.json
然而,我得到的回应是:
"CapabilitiesReason": "The following resource(s) require capabilities:
[AWS::IAM::Role]",
不幸的是,我无法找到任何设置功能的方法。
如何设置功能?
答案 0 :(得分:16)
validate-template
的Capabilities
和CapabilitiesReason
输出不是错误。它们是正常输出,列出了在将来运行create-stack
或update-stack
时需要指定的资源(通过--capabilities
)。
通过检查return code是否为0
表示命令已成功完成,您可以确认验证成功且没有错误。
validate-template输出的文档如下:
功能 - > (列表)
模板中的功能。如果您的模板包含IAM资源,则在对模板使用
CAPABILITY_IAM
或CAPABILITY_NAMED_IAM
操作时,必须为此参数指定create-stack
或update-stack
值;否则,这些操作会返回InsufficientCapabilities
错误。 有关详细信息,请参阅Acknowledging IAM Resources in AWS CloudFormation Templates。CapabilitiesReason - > (字符串)
在Capabilities响应元素中生成值的资源列表。