拥有父子关系中的 cloudformation 模板集合,并希望将 AWS::IAM::Role 传递到子堆栈的参数中,并使用 GetAttr 获取 Arn。
这会导致验证失败,因为只能对资源调用 GetAttr,而不能对参数调用。
有人知道/猜猜为什么要这样设计吗?
这不是问题,因为只需将 Arn 传递到堆栈中就可以解决问题,我只是很好奇
What Fn::GetAttr
and Parameters
正在努力做AWS 云形成是根本不同的。根据 AWS 文档:
内部函数 Fn::GetAtt 返回属性的值
来自模板中的资源。
[1] http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html
您可以使用可选的参数部分将值传递到您的
创建堆栈时的模板。通过参数,您可以创建
每次创建堆栈时都会自定义的模板。
[2] http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-struct.html http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html
我相信您的困惑源于这样一个事实:您试图从面向对象/其他一些编程范例的角度来思考这个问题,其中Resources
and Parameters
是某种物体并且Fn::GetAttr
是一个通用函数,它检索作为参数传入的引用的值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)