Terraform错误:subnet_ids vpc模块的属性值类型不正确

时间:2020-09-30 23:40:51

标签: amazon-web-services syntax-error terraform terraform-provider-aws terraform-modules

在版本12.24中运行Terraform Plan时,出现错误:属性值类型不正确。

Error: Incorrect attribute value type

  on .terraform/modules/app/main.tf line 134, in resource "aws_db_subnet_group" "db_subnet_group":
 134:   subnet_ids  = var.subnets
    |----------------
    | var.subnets is list of tuple with 1 element

Inappropriate value for attribute "subnet_ids": incorrect set element type:
string required.

tf文件中的代码:

resource "aws_db_subnet_group" "db_subnet_group" {
  count = "${var.create_subnet_group ? 1 : 0}"

  name_prefix = "${var.name}-"
  description = "Database subnet group for ${var.name}"
  subnet_ids  = var.subnets

variables.tf文件:

variable "subnets" {
  description = "Subnets for RDS Instances"
  type        = "list"
}

我该如何解决?

1 个答案:

答案 0 :(得分:1)

错误消息表明您拥有list of tuple with 1 element,这意味着var.subnets的形式为:

variable "subnets" {
  description = "Subnets for RDS Instances"
  type        = "list"
  default = [["subnet-070db0eee8c5f3bb1", "subnet-01e76559b44d06aa3"]]
}

因此,要使用内部列表(即元组),您必须:

resource "aws_db_subnet_group" "db_subnet_group" {
  
  # other attributes not shown

  subnet_ids  = var.subnets[0]
}