参数部分中的交叉堆栈参考

时间:2019-11-06 19:08:53

标签: amazon-web-services amazon-cloudformation

我试图弄清楚如何将CloudFormation堆栈的输出作为参数传递给另一个CloudFormation堆栈,尤其是通过CloudFormation定义的Parameters section

说StackA正在导出输出:-

Outputs:
  TargetGroupArn:
    Description: "Target Group ARN"
    Export: {Name: TargetGroupArn}
    Value: {Ref: TargetGroup}

StackB的定义中是否可以包含参数:-

Parameters:
  TargetGroupArn:
     Type: String
     Default: 
       Fn::ImportValue: TargetGroupArn

注意:我知道TargetGroupArn可以通过Fn::ImportValue在“资源”部分中的任何需要的地方获取。我对导入参数部分特别感兴趣。

1 个答案:

答案 0 :(得分:1)

否,您不能导入该值作为默认参数。

按照documentation(加重),

  

您只能在模板的特定部分中使用内部函数。   当前,您可以在资源属性中使用内部函数,   输出元数据属性更新策略属性。您可以   还使用内在函数有条件地创建堆栈资源。

参数不是允许使用内部函数的部分之一;并且由于Fn::ImportValue是内在函数,因此无法导入参数值。