[英]Share outputs from CloudFormation nested stack
我有一個父堆棧調用 2 個嵌套堆棧,我需要將這些嵌套堆棧的值導入父堆棧。 例子:
嵌套堆棧:
"Outputs": {
"TargetGroup":{
"Value": {
"Ref": "ggTG"
},
"Export": {
"Name": {
"Fn::Sub": "${AWS::StackName}-TargetGroup"
}
}
},
}
當我執行所有嵌套堆棧時,我在子堆棧中得到這些 output 但我想在父堆棧中得到這個 output 以從另一個獨立堆棧訪問。
原因是如果我在另一個獨立堆棧中導入,我不能使用嵌套的名稱,因為它是在運行時創建的。
堆棧導入:
"TargetGroupARN" : {"Fn::ImportValue" : {"Fn::Sub" : "${StackName}-TargetGroup"}}
正如我所說,我只知道父堆棧的名稱,所以我必須從父堆棧而不是子堆棧中導出。
從AWS CloudFormation Template Snippets - AWS CloudFormation ,您似乎可以像這樣引用嵌套堆棧的輸出:
{
"AWSTemplateFormatVersion" : "2010-09-09",
"Resources" : {
"myStack" : {
"Type" : "AWS::CloudFormation::Stack",
"Properties" : {
"TemplateURL" : "https://s3.amazonaws.com/cloudformation-templates-us-east-1/S3_Bucket.template",
"TimeoutInMinutes" : "60"
}
}
},
"Outputs": {
"StackRef": {"Value": { "Ref" : "myStack"}},
"OutputFromNestedStack" : {
"Value" : { "Fn::GetAtt" : [ "myStack", "Outputs.BucketName" ] }
}
}
}
因此,只需在嵌套堆棧中使用普通的 Output(無需導出),然后從頂層堆棧中按上述方式引用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.