在控制台或CLI中似乎没有任何方法来枚举已创建的宏。它们可以在任何其他堆栈模板中通过名称引用,所以很明显,它们被存储在帐户全局注册表中,但看起来不像是暴露的。
拥有一个宏库是一件很强大的事情,但如果他们要与团队中的其他人共享一个帐户,那么就需要一个发现过程。是否期望在外部发布名称/用法信息?
很明显,当宏可以在整个组织中共享时,它们会更加强大。堆栈集可以用来做到这一点,所以我想主堆栈集也可以创建某种文档资源。
不能像列举许多其他东西一样列举宏,包括可以注册的更奇特的扩展,这似乎很令人讨厌。我错过什么了吗?
我搜索了AWS文档,花了很多时间在网上搜索,却找不到任何人在谈论它。这要么意味着我错过了一些简单而明显的东西,对足够多的人来说不是特别重要,要么没有人想第一个问。
AWS::CloudFormation::Macro
资源实际上是文档中描述的lambda函数的包装器。虽然AWS::CloudFormation::Macro
是CloudFormation资源,但在AWS中没有宏资源。
因此,为了列出您帐户中的所有宏函数,您有两个选项:
- 对每个模板使用aws cloudformation get-template CLI命令,然后解析它们,检查
AWS::CloudFormation::Macro
是否存在 - 对每个lambda函数使用aws lambda get-function CLI命令,然后检查某个标签(例如Macro:True)是否存在。这种方法需要你正确地标记这些lambda函数。