每个 Fn::And 对象需要一个至少 2 个、最多 10 个布尔参数的列表

Abi*_*mar 5 amazon-web-services aws-cloudformation

无法在 Cloudformation 中进行以下工作。

Conditions:

  EmptyBalancer:
    !Equals [!Ref BalancerName, '']

  EmptyAutoscaling:
    !Equals [!Ref AutoscalingName, '']

  NoLoadBalancerAndAutoscaling:
    !And [EmptyBalancer, EmptyAutoscaling]  
Run Code Online (Sandbox Code Playgroud)

条件不编译。结果出现模板错误:

每个 Fn::And 对象需要一个至少 2 个、最多 10 个布尔参数的列表

还尝试了其他但相同的错误

  NoLoadBalancerAndAutoscaling:
    !And [!Ref EmptyBalancer, !Ref EmptyAutoscaling] 
Run Code Online (Sandbox Code Playgroud)

请帮忙!

小智 6

你就快到了。当将!And用于 Cloudformation 的条件语句时,您需要尽早调用条件,如示例中所示。此外,在!And条件内部调用时,还需要调用对!Condition的引用。请使用您的示例查看以下内容:

Conditions:
  EmptyBalancer: !Equals [!Ref BalancerName, ""]
  EmptyAutoscaling: !Equals [!Ref AutoscalingName, ""]
  NoLoadBalancerAndAutoscaling: !And 
      - !Condition EmptyBalancer
      - !Condition EmptyAutoscaling
Run Code Online (Sandbox Code Playgroud)