我想做什么:在云信息模板中,如果用户提供了子网ID列表,请使用它们。否则,创建VPC,子网等
我定义用于捕获用户输入的cloudformation参数是:
useSubnet:
Type: List<AWS::EC2::Subnet::Id>
我设定的条件是:
CreateVPC: !Equals [!Select [0, !Ref useSubnet], ""]
但是,如果用户未在列表中选择任何子网值,则模板将失败并显示:
参数验证失败:参数名称的参数值 useSubnet不存在。
我甚至尝试使用不同的参数来捕获用户选择但仍然得到相同的错误。那就是:
createVPC:
Type: String
AllowedValues: [true, false]
Default: true
useSubnet:
Type: AWS::EC2::Subnet::Id
条件是:
CreateVPC: !Equals [!Ref createVPC, true]
并将其用作:
!If [CreateVPC, !Ref privateSubnet, !Ref useSubnet]
我得到同样的错误......