CloudFormation - 根据另一个参数的值过滤允许值列表

问题描述

在 CloudFormation 中,有没有办法根据另一个参数的值过滤一个参数的允许值列表?

例如,如果我有两个参数允许用户指定一个 VPC 和一些子网,我可以使用这个片段 -

Parameters:
  VpcId:
    Type: 'AWS::EC2::VPC::Id'
  AllsubnetIds:
    Type: List<AWS::EC2::subnet::Id>

但是,没有什么能阻止用户选择一个 VPC,然后从另一个 VPC 中选择子网。我想要的是让用户可以选择的子网仅限于已选择的 VPC 中的子网。

显然,如果这对底层资源无效,则堆栈创建/更新将失败,但在理想情况下,操作将在尝试创建/更新资源之前失败。

解决方法

不,不幸的是不是 - 参数彼此独立。

另见this question,它有类似的讨论。