1

当我在版本 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"
}

我该如何解决?

4

1 回答 1

3

The error message says that you have list of tuple with 1 element, which would mean that the var.subnets is something in the form of:

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

Therefore, to use the inner list (i.e. tuple) you have to do:

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

  subnet_ids  = var.subnets[0]
}
于 2020-10-01T00:51:49.170 回答