【发布时间】:2021-04-25 00:19:18
【问题描述】:
这是我之前问的一个问题:How to get AWS Lambda ARN using Terraform?
这个问题得到了回答,但实际上并没有解决我的问题,所以这是一个跟进。
我编写的 terraform 代码提供了一个 Lambda 函数:
根模块:
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
}
}
}
provider "aws" {
region = var.region
profile = var.aws_profile
}
module "aws_lambda_function" {
source = "./modules/lambda_function"
}
子模块:
resource "aws_lambda_function" "lambda_function" {
function_name = "lambda_function"
handler = "lambda_function.lambda_handler"
runtime = "python3.8"
filename = "./task/dist/package.zip"
role = aws_iam_role.lambda_exec.arn
}
resource "aws_iam_role" "lambda_exec" {
name = "aws_iam_lambda"
assume_role_policy = file("policy.json")
}
我希望用户能够做什么来获得 Lambda ARN:
terraform output
问题:我似乎无法在 terraform 代码中的任何位置包含以下代码,因为它会导致“ResourceNotFOundException: Function not found...”错误。
data "aws_lambda_function" "existing" {
function_name = "lambda_function"
}
output "arn" {
value = data.aws_lambda_function.existing.arn
}
我需要在哪里或如何包含此信息才能获得 ARN,或者这可能吗?
【问题讨论】:
标签: aws-lambda terraform