ElasticsearchClusterConfig 中的条件

问题描述

如果参数 (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]