【发布时间】:2021-11-17 23:03:26
【问题描述】:
我正在尝试让 terraform 创建一个 lambda 层,我得到“对未声明资源的引用” 这是我收到错误的 src 目录中的 main.tf 代码
module "name" {
...
...
layer_arns = [aws_lambda_layer_version.mm_layer.arn]
...
...
}
这是我试图引用的 lambda-layer 文件夹中的 lambda-layer.tf 资源文件
locals {
region = var.region
}
resource "aws_lambda_layer_version" "mm_layer" {
layer_name = "common-layer"
...
...
compatible_runtimes = ["nodejs12.x"]
}
编辑:继承人声明的模块
module "lambda-layer" {
source = "./modules/lambda-layer"
region = module.common.region[module.common.region]
env = var.env
}
不知道为什么它找不到参考。我在资源中明确说明它是 mm_layer,我尝试将其称为“mm_layer”
【问题讨论】:
-
“lambda-layer 文件夹中的 lambda-layer.tf 资源文件”意味着资源在声明的模块中。如果是这样,请将该模块声明添加到问题中。
-
在编辑中添加。
-
假设
aws_lambda_layer_version.mm_layer不在lambda-layer模块的声明输出中是否安全? -
所以我添加了一个 output.tf 并声明了这一点: output "aws_lambda_layer_version_mm_layer" { value = aws_lambda_layer_version.mm_layer.arn } 我仍然遇到同样的错误。很确定我正确地描述了它。
标签: terraform terraform-provider-aws