AWS cloudformation 将值传递给嵌套堆栈

AWS cloudformation pass value to nested stack

我在使用嵌套堆栈创建堆栈时遇到问题。我有一个主模板(列出的模板用于测试,仅引用一个嵌套堆栈)。我想弄清楚如何将值从 master 传递到嵌套堆栈,或者有更好的方法吗?每次尝试创建堆栈时,我都会得到:

Template format error: Unresolved resource dependencies [VpcCidrBlock] in the Resources block of the template.

据我所知,我放入主堆栈的参数没有传递到嵌套堆栈。

主模板:

{
    "AWSTemplateFormatVersion" : "2010-09-09",
    "Description" : "Master template",
    "Parameters" : {
        "availabilityZone" : {
            "Default" : "us-east-1d",
            "Description" : "Enter AvailabilityZone.",
            "Type" : "String"
        },
        "VpcCidrBlock" : {
            "Default" : "10.0.0.0/16",
            "Description" : "VPC CIDR Block.",
            "Type" : "String"
        }
    },
    "Resources" : {
        "VPCStack" : {
            "Type" : "AWS::CloudFormation::Stack",
            "Properties" : {
                "TemplateURL" : "https://s3.amazonaws.com/dev.url.templates/templates/vpcStack.json",
                "TimeoutInMinutes" : "5",
                "Parameters" : {
                    "VpcCidrBlock" : {
                        "Ref" : "VpcCidrBlock"
                    }
                }
            }
        }
    }
}

VPC 模板:

{
    "AWSTemplateFormatVersion" : "2010-09-09",
    "Description" : "VPC template",
    "Resources" : {
        "VpcStack" : {
            "Type" : "AWS::EC2::VPC",
            "Properties" : {
                "EnableDnsSupport" : "true",
                "EnableDnsHostnames" : "true",
                "CidrBlock" : {
                    "Ref" : "VpcCidrBlock"
                },
                "Tags" : [
                    {
                        "Key" : "Application",
                        "Value" : {
                            "Ref" : "AWS::StackName"
                        }
                    }
                ]
            }
        }
    }
}

谢谢!

您的内部模板需要一个输入参数:

"Parameters" : {
    "VpcCidrBlock" : {
        "Description" : "VPC CIDR Block.",
        "Type" : "String"
    }
},

就像你的外部 "wrapper" 模板一样。