我正在尝试应用我的cloudformation模板,但出现以下神秘错误:
botocore.exceptions.ClientError:发生错误(ValidationError) 调用CreateStack操作时:模板错误:条件 令牌只能在条件块中使用
堆栈跟踪为
File "/Users/user/.env/lib/python3.7/site-packages/botocore/client.py", line 357, in _api_call
return self._make_api_call(operation_name, kwargs)
File "/Users/user/.env/lib/python3.7/site-packages/botocore/client.py", line 661, in _make_api_call
raise error_class(parsed_response, operation_name)
代码看起来像
cf_client = session.client('cloudformation')
cf_client.create_stack(
StackName=stack_name,
TemplateBody=template_body,
Parameters=aws_parameters,
TimeoutInMinutes=10,
OnFailure='DELETE',
Tags=aws_tags,
Capabilities=['CAPABILITY_IAM'],
)
cloudformation模板很大,不适合在此处粘贴。它通过服务发现,应用程序网格,fargate等来站立应用程序。
他们指的是这个Condition
是什么,什么地方不对?
答案 0 :(得分:0)
该错误相当神秘且无济于事,但就我而言,这是我的ECS任务定义中的一个错字。
我的容器依赖于关系,我构造错了
DependsOn:
- ContainerName: envoy
- Condition: HEALTHY
“依赖于”是地图列表,因此在-
前面不应有Condition
。
这可以解决我的问题:
DependsOn:
- ContainerName: envoy
Condition: HEALTHY