事实:
parent_stack.template
(包含以下嵌套堆栈)stack01.template
(包含45种资源及其输出)stack02.template
(包含45种资源及其输出)我的问题:
我需要导出这90种资源,但是由于限制,我无法在parent_stack.template
中导出它们。
我可以将它们分别导出到stack01.template
和stack02.template
中,但是由于它们是在CloudFormation创建它们时嵌套的,因此会添加一个随机的字母数字字符串,例如Stack01-1B0HKOV4YRD6A
,因此我实际上不能使用要从嵌套堆栈(而不是父级)中的任何位置导入的逻辑名称。
我非常感谢您的任何帮助。
提前谢谢!
答案 0 :(得分:2)
您可以在AWS CloudFormation模板中声明的最大输出数量:200
答案 1 :(得分:-1)
您可以引用嵌套的输出变量。看一下这个示例草案,它就像一个主要的云形成脚本:
Description: >
Some desc
AWSTemplateFormatVersion: 2010-09-09
Resources:
MyStackA:
Type: AWS::CloudFormation::Stack
Properties:
TemplateURL: "mystackA.yml"
Parameters:
ProjectName: "myprojectA"
MyStackB:
Type: AWS::CloudFormation::Stack
Properties:
TemplateURL: "mystackB.yml"
Parameters:
ProjectName: "myprojectB"
MyStackC:
Type: AWS::CloudFormation::Stack
Properties:
TemplateURL: "mystackC.yml"
Parameters:
ProjectName: "myprojectC"
OutputFromMyStackA: !GetAtt MyStackA.Outputs.myoutputA
OutputFromMyStackB: !GetAtt MyStackB.Outputs.myoutputB
MyStackC使用MyStackA和MyStackB中的参数。 MyStackC脚本将需要一个参数部分:
Parameters:
OutputFromMyStackA:
Description: param from stack a
Type: String
OutputFromMyStackB:
Description: param from stack b
Type: String
StackA和StackB也需要输出自己的内容
Outputs:
myoutputA:
Description: the myoutputA
Value: !Ref SomeStackAResource ====> this references something inside the script for StackA