Terraform:使用文件插值从模块读取本地文件

时间:2019-09-16 14:59:17

标签: terraform

当我做类似的事情时,有没有办法告诉terraform

locals {
  file_content = "${file("somefile.txt")}"
}

在模块内部,它读取了模块中的文件?

看来,如果文件结构是这样的:

/module
  /main.tf        <- the code above is here
  /somefile.txt
/project
  /main.tf        <- this uses the module from ../module

Terraform将在/project下而不是/module下查找文件

谢谢

1 个答案:

答案 0 :(得分:2)

您可以使用path.module来引用模块的路径。

因此在您的模块中,您可以通过以下方式引用它:

locals {
  file_content = "${file("${path.module}/somefile.txt")}"
}

这也显示在documentation for the file function中:

> file("${path.module}/hello.txt")
Hello World