【问题标题】:Terraform Error: Incorrect attribute value type for subnet_ids vpc modulesTerraform 错误:subnet_ids vpc 模块的属性值类型不正确
【发布时间】:2021-01-16 16:38:17
【问题描述】:

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

我该如何解决这个问题?

【问题讨论】:

  • 请将代码放在您在 var.subnets 上放置值的位置
  • var.subnets 到底是什么?
  • 我刚加的,请查收。
  • 我的意思是,您在var.subnets 中使用的实际值是什么,而不是它的一般类型。
  • @Myra 顺便说一句,您必须使用 @Marcin 标记您的 cmets。否则人们可能不会收到您已回复的通知。

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


【解决方案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]
}

【讨论】:

猜你喜欢
  • 2021-12-24
  • 2019-12-21
  • 1970-01-01
  • 2020-09-30
  • 1970-01-01
  • 1970-01-01
  • 2021-11-11
  • 2020-12-17
  • 1970-01-01
相关资源
最近更新 更多