地形'At least one field is expected inside environment'错误



当我尝试应用地形以创建lambda函数时,出现此错误:

Error: At least one field is expected inside environment

这是我的地形模块:

resource "aws_lambda_function" "lambda" {
function_name = var.lambda_filename
description = var.description
runtime = "python3.6"
environment {
variables = var.variables
}
}

var.variables设置为 null 时,将引发此错误。

我该如何解决它?

我正在使用地形 0.12.6 和 aws 提供程序 2.25.0

我找到了一个解决方案:在最新版本的 terrafrom 中使用dynamic

resource "aws_lambda_function" "lambda" {
function_name = var.lambda_filename
description = var.description
runtime = "python3.6"
dynamic "environment" {
for_each = local.environment_map
content {
variables = environment.value
}
}
}

environment_map是这样创建的:

locals {
environment_map = var.variables == null ? [] : [var.variables]
}

除了上面的解决方案之外,还记得将变量的默认值设置为 null。例如。

variable variables {
type    = map
default = null
description = "My map" 
}

相关内容

  • 没有找到相关文章

最新更新