Skip to main content

file Function

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

file(path)

Strings in the OpenTF 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 OpenTF run. Functions do not participate in the dependency graph, so this function cannot be used with files that are generated dynamically during an OpenTF operation. We do not recommend using dynamic local files in OpenTF 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

> file("${path.module}/hello.txt")
Hello World
  • 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.