tflint在变量上调用terraform ' filebase64sha256() '时失败 &g



我有一个AWS lambda函数的terraform模块,如下所示:

module "my-lambda-function" {
...
source_code_path = local.filename
source_code_hash = filebase64sha256(local.filename)
...
}

语法是正确的,但是我有一个问题,当运行tflint时,tflint评估所有变量,并试图在不存在的local.filename上调用filebase64sha256()(因为terraform apply尚未执行)来生成资源的source_code_hash

有办法防止这种计算吗?虽然我想检查模块,但是当检查器调用函数对定义的资源进行操作时,它看起来像一个bug,而不是实际的资源。

解决这个问题:

source_code_hash = fileexists(local.filename) ? filebase64sha256(local.filename) : null

最新更新