问题描述
如果参数 (isMultiAZ) 的计算结果为真,并且不使用 AWS::Novalue 伪参数省略第二次提交分配,我将尝试有条件地导入第二个私有子网。
但是,在创建变更集时出现以下错误:
调用 CreateChangeSet 操作时发生错误(ValidationError):模板错误:Fn::If 中未解析的条件依赖 IsMultiAZ
Conditions:
isMultiAZ: !Equals [!Ref MultiAZ,true]
VPcoptions:
subnetIds:
- Fn::ImportValue:
Fn::Sub: '${ClusterStackName}-PrivatesubnetOneID'
- Fn::If:
- IsMultiAZ
- Fn::ImportValue:
Fn::Sub: '${ClusterStackName}-PrivatesubnetTwoID'
- Ref: AWS::Novalue
我是否遗漏了一些非常明显的东西?从表面上看,这似乎应该可行。
解决方法
好吧,您的条件名为 isMultiAZ
,但您正在尝试使用 IsMultiAZ
。所以应该是:
Conditions:
IsMultiAZ: !Equals [!Ref MultiAZ,true]