当我尝试将安全组或子网 ID 添加到 lambda 时,在 terraform apply 中返回此错误
这是错误
属性“subnet_ids”的值不合适:需要一组字符串。 属性“security_group_ids”的值不合适:需要一组字符串。
这是代码
这是我尝试添加到 lambda 模块的 VPC 配置
vpc_config {
subnet_ids = var.subnet_ids
security_group_ids = var.security_group_ids
}
这些是试图从 main 传递的值
variable "subnet_ids" {
default = "subnet-05xxxxxxxxx"
}
variable "security_group_ids" {
default = "sg-020xxxxxxxxx"
}`
Terraform 抛出错误
这两个变量都是单个字符串。您尝试设置的属性需要一组“字符串”,就像错误消息所述。您需要将单个值括在括号中以使其成为一个集合。
vpc_config {
subnet_ids = [var.subnet_ids]
security_group_ids = [var.security_group_ids]
}
或者,将其修复在变量中:
variable "subnet_ids" {
type = set(string)
default = ["subnet-05xxxxxxxxx"]
}
variable "security_group_ids" {
type = set(string)
default = ["sg-020xxxxxxxxx"]
}
然后像以前一样引用它们:
vpc_config {
subnet_ids = var.subnet_ids
security_group_ids = var.security_group_ids
}