terraform/website/docs/configuration/functions/filebase64.html.md

1.9 KiB

layout page_title sidebar_current description
language filebase64 - Functions - Configuration Language docs-funcs-file-filebase64 The filebase64 function reads the contents of the file at the given path and returns them as a base64-encoded string.

filebase64 Function

-> Note: This page is about Terraform 0.12 and later. For Terraform 0.11 and earlier, see 0.11 Configuration Language: Interpolation Syntax.

filebase64 reads the contents of a file at the given path and returns them as a base64-encoded string.

filebase64(path)

The result is a Base64 representation of the raw bytes in the given file. Strings in the Terraform language are sequences of Unicode characters, so Base64 is the standard way to represent raw binary data that cannot be interpreted as Unicode characters. Resource types that operate on binary data will accept this data encoded in Base64, thus avoiding the need to decode the result of this function.

Terraform uses the "standard" Base64 alphabet as defined in RFC 4648 section 4.

This function can be used only with functions that already exist as static files on disk at the beginning of a Terraform run. Language functions do not participate in the dependency graph, so this function cannot be used with files that are generated dynamically during a Terraform operation.

Examples

> filebase64("${path.module}/hello.txt")
SGVsbG8gV29ybGQ=
  • file also reads the contents of a given file, but interprets the data as UTF-8 text and returns the result directly as a string, without any further encoding.
  • base64decode can decode a Base64 string representing bytes in UTF-8, but in practice base64decode(filebase64(...)) is equivalent to the shorter expression file(...).