将子网列表作为参数传递给嵌套的CloudFormation模板失败,并显示错误

问题描述 投票:0回答:2

我试图通过将子网ID和VPC ID列表作为参数传递给嵌套堆栈来启动堆栈。但是,堆栈失败并出现如下错误。任何人都可以建议如何在嵌套堆栈中传递列表。父堆栈的参数部分Parent stack父堆栈的资源部分Parent stack resources错误Error Child template

amazon-cloudformation amazon-vpc subnet
2个回答
2
投票

同意@Alex Harvey。什么是Server-Stack期待?子网ID或单个子网ID的列表?

查看您的父堆栈,您的PublicSubnetIdsPrivateSubnetIds被声明为列表。如果您打算将列表传递给Server-Stack,则必须在List<AWS::EC2::Subnet::Id>Parameters部分中将它们声明为Server-Stack类型


1
投票

你的代码将Ref! PublicSubnetIds类型的List<AWS::EC2::Subnet::Id>传递给一个显然需要AWS::EC2::Subnet::Id类型数据的字段。

要选择列表的第n个元素,请使用内部函数Fn::Select,即

SubnetId1: !Select [0, !Ref PublicSubnetIds]
SubnetId2: !Select [1, !Ref PublicSubnetIds]
© www.soinside.com 2019 - 2024. All rights reserved.