file Function

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

file(path)

Strings in the OpenTofu 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 an OpenTofu run. Functions do not participate in the dependency graph, so this function cannot be used with files that are generated dynamically during an OpenTofu operation. We do not recommend using dynamic local files in OpenTofu configurations, but in rare situations where this is necessary you can use the local_file data source (opens in a new tab) to read files while respecting resource dependencies.

Examples

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

Related Functions

  • 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.
  • fileexists determines whether a file exists at a given path.
  • templatefile renders using a file from disk as a template.