微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

即使 AWS CloudFormation 中的条件为假,获取命令也不能为空

如何解决即使 AWS CloudFormation 中的条件为假,获取命令也不能为空

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

问题:

我有一个 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"}
]

解决方法

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。