Clouformation将所有参数从根堆栈传递到嵌套堆栈

时间:2018-02-23 16:39:12

标签: amazon-web-services amazon-cloudformation

有没有办法将根堆栈接收的每个参数传递给它的嵌套堆栈?我可以一次传递一个参数,但我想立即将它们全部传递。

3 个答案:

答案 0 :(得分:1)

< p>以下是给您一个想法的示例模板。< / p> &LT p为H.;<强> Master.yaml:其中/强>< / p为H. <预><代码>资源:   Cloudspan:     键入:" AWS :: CloudFormation :: Stack"     属性:       参数:         LambdaName:Cloudspan         BucketName:< BucketName>         S3KeyName:< S3KeyName>         FunctionName:< FunctionName>       TemplateURL:< TemplateURL>   对准:     键入:" AWS :: CloudFormation :: Stack"     属性:       参数:         LambdaName:对齐         BucketName:< BucketName>         S3KeyName:< S3KeyName>         FunctionName:< FunctionName>       TemplateURL:< TemplateURL> < /代码>< /预> &LT p为H.;<强>λ-child.yaml:其中/强>< / p为H. <预><代码>参数:   LambdaName:     类型:字符串   BucketName:     类型:字符串   S3KeyName:     类型:字符串   FunctionName:     类型:字符串 资源:   LambdaFunction:     键入:" AWS :: Lambda :: Function"     属性:       处理程序:!Sub' $ {LambdaName} - {FunctionName} .Handler'       角色:         Fn :: GetAtt:[' LambdaExecutionRole',Arn]       码:         S3Bucket:!Sub' $ {LambdaName} {BucketName}'         S3Key:!Sub' $ {LambdaName} {S3KeyName}'       运行时:" python3.6" < /代码>< /预>

答案 1 :(得分:0)

<强> FN ::导入

您可以将参数“导出”为一个堆栈的输出,然后任何堆栈都可以访问整个帐户中的这些值。这可能比您正在寻找的更开放,但如果您的最终目标是让堆栈共享变量,那么导出输出并使用Fn::Import引用它们就可以实现。

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-exports.html

答案 2 :(得分:0)

还没有办法将每个参数一次从根堆栈传递到嵌套堆栈。如果要传递每个参数,则必须按照Sudharsan Sivasankaran的答案中给出的模板逐个传递。