Terraform 错误:属性“requires_compatibility”的值不合适:需要一组字符串

REL*_*BLE 1 terraform aws-fargate terraform-provider-aws

terraform 验证后收到以下错误消息:

#################################################### #############

错误:资源“aws_ecs_task_definition”中 .terraform/modules/backend_deployment/task_definition.tf 第 4 行的属性值类型不正确:

需要兼容性=“FARGATE”

属性“requires_compatibility”的值不合适:需要一组字符串。

#################################################### #############

这是我的任务定义:

resource "aws_ecs_task_definition" "task_definition" {
  family = join("-", [local.cluster_values.backend_name, local.cluster_values.environment, local.cluster_values.random_id])
  network_mode = "awsvpc"
  requires_compatibilities = "FARGATE"
  cpu = 256
  memory = 512
  container_definitions = data.template_file.task_definition_template.rendered
  task_role_arn = local.cluster_values.task_role
}
Run Code Online (Sandbox Code Playgroud)

Terraform-Doku 说道:

require_compatibility - (可选)任务所需的启动类型集。有效值为 EC2 和 FARGATE。

非常感谢您的帮助!

Mat*_*ard 5

根据错误消息,提供程序需要类型为 的参数值set(string),而您已提供string。您可以根据错误消息提供与提供程序期望的类型一致的值来修复此问题:

requires_compatibilities = ["FARGATE"]
Run Code Online (Sandbox Code Playgroud)