设置 aws cloudformation template-validate 的功能
Posted
技术标签:
【中文标题】设置 aws cloudformation template-validate 的功能【英文标题】:Setting the capability for aws cloudformation template-validate 【发布时间】:2016-11-23 06:41:01 【问题描述】:我正在尝试验证 Cloudformation 模板。我发出的命令是:
▶ aws cloudformation validate-template --template-body file://template.json
然而,我得到的回应是:
"CapabilitiesReason": "The following resource(s) require capabilities:
[AWS::IAM::Role]",
很遗憾,我找不到任何设置功能的方法。
你如何设置能力?
【问题讨论】:
我也有同样的问题。--capabilities=CAPABILITY_IAM
和 create-stack
cli 命令生成堆栈,但 validate-stack
似乎也需要此功能,但没有添加它的 cli 选项
这不是错误。这是一个通知,通知您在执行create-stack
或update-stack
时必须指定CAPABILITY_IAM
功能。
【参考方案1】:
validate-template
的 Capabilities
和 CapabilitiesReason
输出不是错误。它们是正常输出,列出了需要在未来运行 create-stack
或 update-stack
时指定(通过 --capabilities
)的功能的资源。
您可以通过检查return code 是否为0
(表示命令已成功完成)来确认验证成功且没有错误。
validate-template 输出的文档如下:
能力 ->(列表)
模板中的功能。如果您的模板包含 IAM 资源,则当您对模板使用
create-stack
或update-stack
操作时,必须为此参数指定CAPABILITY_IAM
或CAPABILITY_NAMED_IAM
值;否则,这些操作将返回InsufficientCapabilities
错误。 如需更多信息,请参阅Acknowledging IAM Resources in AWS CloudFormation Templates。CapabilitiesReason ->(字符串)
在 Capabilities 响应元素中生成值的资源列表。
【讨论】:
糟糕的设计。输出完全表明需要的东西有问题。 @MichaelMügge 在使用 aws 一段时间后,我必须说很多 AWS UI 和 cli 设计不佳,人们只需要习惯它的怪癖 :)以上是关于设置 aws cloudformation template-validate 的功能的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 aws cloudformation 或 aws cdk 设置 aws aurora mysql 表?
如何使用 cloudformation 在 AWS cognito 上设置验证属性?
设置 aws cloudformation template-validate 的功能