将子网列表作为参数传递给嵌套的 CloudFormation 模板失败并出现错误
Passing list of subnet as a parameter to nested CloudFormation Templates fails with an error
我正在尝试通过将子网 ID 和 VPC ID 列表作为参数传递给嵌套堆栈来启动堆栈。但是,堆栈失败并出现如下错误。任何人都可以建议如何在嵌套堆栈中传递列表。
父堆栈的参数部分
父堆栈的资源部分
错误
您的代码正在将 List<AWS::EC2::Subnet::Id>
类型的 Ref! PublicSubnetIds
传递到显然需要 AWS::EC2::Subnet::Id
.
类型数据的字段中
到 select 列表的第 n 个元素使用内部函数 Fn::Select,即
SubnetId1: !Select [0, !Ref PublicSubnetIds]
SubnetId2: !Select [1, !Ref PublicSubnetIds]
同意@Alex Harvey 的观点。 Server-Stack
期待什么?子网 ID 列表或单个子网 ID?
查看您的父堆栈,您的 PublicSubnetIds
和 PrivateSubnetIds
被声明为列表。如果您打算将列表传递给 Server-Stack
,则必须在 Server-Stack
的 Parameters
部分将它们声明为 List<AWS::EC2::Subnet::Id>
类型
我正在尝试通过将子网 ID 和 VPC ID 列表作为参数传递给嵌套堆栈来启动堆栈。但是,堆栈失败并出现如下错误。任何人都可以建议如何在嵌套堆栈中传递列表。
父堆栈的参数部分
您的代码正在将 List<AWS::EC2::Subnet::Id>
类型的 Ref! PublicSubnetIds
传递到显然需要 AWS::EC2::Subnet::Id
.
到 select 列表的第 n 个元素使用内部函数 Fn::Select,即
SubnetId1: !Select [0, !Ref PublicSubnetIds]
SubnetId2: !Select [1, !Ref PublicSubnetIds]
同意@Alex Harvey 的观点。 Server-Stack
期待什么?子网 ID 列表或单个子网 ID?
查看您的父堆栈,您的 PublicSubnetIds
和 PrivateSubnetIds
被声明为列表。如果您打算将列表传递给 Server-Stack
,则必须在 Server-Stack
Parameters
部分将它们声明为 List<AWS::EC2::Subnet::Id>
类型