以下 ECS 任务定义在计划期间被 Terraform 拒绝。JSON 验证并使用内联 container_definitions 工作正常。
我在谷歌上搜索并阅读了一些评论,指出 TF 有一个 JSON 对象问题,主要与嵌套有关。我可以通过将 JSON 直接放入任务定义的资源块中的 container_definition 来解决这个问题,但我更愿意将它粘贴在模板文件中。
Error: Error running plan: 1 error(s) occurred:
* module.sonarqube.aws_ecs_task_definition.task: ECS Task Definition container_definitions is invalid: Error decoding JSON: json: cannot unmarshal string into Go struct field ContainerDefinition.Memory of type int64
Run Code Online (Sandbox Code Playgroud)
template_file 中引用的 JSON 文档:
{
"name": "sonarqube",
"image": "sonarqube:7.5-community",
"memory": "2048",
"logConfiguration": {
"logDriver": "awslogs",
"options": {
"awslogs-group": "${log-group}",
"awslogs-region": "${region}",
"awslogs-stream-prefix": "ecs"
}
},
"portMappings": {
"hostPort": "9000",
"protocol": "tcp",
"containerPort": "9000" …Run Code Online (Sandbox Code Playgroud) terraform ×1