在cloudformation模板之间创建Fn :: GetAtt引用

时间:2015-04-17 16:12:23

标签: amazon-web-services amazon-cloudformation

我正在创建自定义云信息模板,我知道您可以使用输出使用Fn :: GetAtt功能将其他模板中的参数调用到其他模板中。

目前我的VPC模板有;

"ParentVPC" : {    
    "Description" : "VPC ID",
    "Value" : { "Ref" : "VPC" }
},
"DBSubnet01" : {
    "Description" : "DB Subnet 01",
    "Value" : {"Ref": "DBSubnet01"}
}

因此,从我的应用程序模板中,我想知道如何将这些作为参数调用。我试过了;

"ParentVPC" : {
     "Type" : "AWS::EC2::VPC::Id",
     "Description" : "VPC of Parent"
 },
"DBSubnet01": {
    "Description" : "Reference to VPC DBSubnet01",
    "Type" : "List<AWS::EC2::Subnet::Id>",
    "ConstraintDescription": "must be list of EC2 subnet ids"
}

欢迎任何建议

1 个答案:

答案 0 :(得分:1)

在定义VPC的模板中,创建如下输出值:

"Outputs" : {
    "ParentVPC" : {
        "Value" : {"Ref":"VPC"},
        "Description" : "VPC ID"
    },
    ...
}

然后,在使用VPC的模板中,创建如下参数:

"Parameters" : {
    "ParentVPC" : {
        "Type" : "AWS::EC2::VPC::Id",
    },
    ...
}

从此模板创建堆栈时,请在VPC定义堆栈上调用describe-stack以获取输出值,并将它们作为参数传递给create-stack