【问题标题】:Getting Command cannot be null even if condition is false in AWS CloudFormation即使 AWS CloudFormation 中的条件为假,获取命令也不能为空
【发布时间】:2021-03-11 21:33:47
【问题描述】:

我已经为此工作了好几个小时,但似乎无法确定我做错了什么。感谢是否有人可以提供帮助。

问题:

我有一个 ECS CFT 模板,我应该在其中更新容器定义中的运行状况检查命令。如果运行状况检查命令的参数可用,那么我应该包含它或不传递 aws 值。这是我的模板的参考。但是,运行此之后,我得到了

提供的请求无效:创建任务定义:您必须为容器指定健康检查命令。

我希望参数是可选的。所以我在更新堆栈的时候没有传参数。

参数:


    "ContainerHealthCheckCommand": {
      "Description": "Health check command of the container"
      "Type": "CommaDelimitedList",
      "Default": ""
     }

条件:

    "hasContainerHealthCheckCommand": {
       "Fn::Not": [{ "Fn::Equals": [{"Fn::Select": ["0", {"Ref": "ContainerHealthCheckCommand"}, ""]}]} 
    }

在我的资源容器定义中

"HealthCheck": {"Fn::If": [
  "hasContainerHealthCheckCommand", {
    "Command": {"Ref":"ContainerHealthCheckCommand"}
   },
   {"Ref": "AWS::NoValue"}
]

【问题讨论】:

    标签: amazon-web-services amazon-cloudformation


    【解决方案1】:

    这是一个不相关的错误。之后上面的代码运行良好。

    【讨论】:

      猜你喜欢
      • 2019-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-30
      • 2017-01-25
      • 1970-01-01
      相关资源
      最近更新 更多