AWS Cloudformation:用于呈现模板的CLI工具

给定一个包含对内部函数调用的AWS模板以及可能的引用参数,是否有一个CLI工具允许为parameter passing值,并生成相应的模板文件?

例如,从

{ "Resource" : { "Fn::Join" : [ "", [ "xxx-" , { "Ref": "SomeParam" }, "-zzz" ] ] } } 

提供SomeParam有值bar ,你应该得到一个可读的文本文件:

 { "Resource" : "xxx-bar-yyy" } 

我看了各种aws cloudformation 子命令 (我有希望verify-template ,但无济于事…

(理由:创build/更新堆栈需要时间,而且我没有第一次获得云计算文件的权限,或者n次,对于n值太高的值)。

CloudFormation本身没有你目前描述的function。 亚马逊已经认识到一些类似于create-stack命令的--dry-run特性会很有用,比如这个线程:

https://forums.aws.amazon.com/thread.jspa?threadID=122514

build议的解决方法:

  1. 将堆栈拆分成更小的块(嵌套),然后独立运行它们以加快testing迭代。 这不适用于所有用例,并且仍然受到CloudFormation API /引擎性能低下的影响。

  2. 尝试moto – 一个模仿专门用于testing的AWS API的Python库,它似乎具有实现的核心CloudFormation API,尽pipe我并没有真正将这个库用于CFN,特别是YMMV。

    https://github.com/spulec/moto

  3. 如果你还没有签出Terraform,它就有了执行计划的概念,通过terraform plan命令来实现你描述的内容,而不是Terraform堆栈。

    https://www.terraform.io/intro/vs/cloudformation.html

create-change-set可能是最接近你会得到的:问题是像RefFn::GetAttr函数可以调用的资源,只会存在一旦堆栈运行(即如何告诉你什么样的实例ID它将创build您的实例?)