Skip to content

tm_file Function

tm_file reads the contents of a file at the given path and returns them as a string.

hcl
tm_file(path)

Strings in the Terraform language are sequences of Unicode characters, so this function will interpret the file contents as UTF-8 encoded text and return the resulting Unicode characters. If the file contains invalid UTF-8 sequences then this function will produce an error.

This function can be used only with files that already exist on disk at the beginning of a Terraform run. Functions do not participate in the dependency graph, so this function cannot be used with files that are generated dynamically during a Terraform operation. We do not recommend using dynamic local files in Terraform configurations, but in rare situations where this is necessary you can use the local_file data source to read files while respecting resource dependencies.

Examples

sh
tm_file("${terramate.stack.path.to_root}/hello.txt")
Hello World
  • tm_filebase64 also reads the contents of a given file, but returns the raw bytes in that file Base64-encoded, rather than interpreting the contents as UTF-8 text.
  • tm_fileexists determines whether a file exists at a given path.
  • tm_templatefile renders using a file from disk as a template.