mirror of
https://github.com/opentffoundation/opentf.git
synced 2025-12-21 10:47:34 -05:00
Signed-off-by: Janos <86970079+janosdebugs@users.noreply.github.com> Signed-off-by: Damian Stasik <920747+damianstasik@users.noreply.github.com> Signed-off-by: Roman Grinovski <roman.grinovski@gmail.com> Co-authored-by: Damian Stasik <920747+damianstasik@users.noreply.github.com> Co-authored-by: Roman Grinovski <roman.grinovski@gmail.com>
47 lines
1.6 KiB
Plaintext
47 lines
1.6 KiB
Plaintext
---
|
|
sidebar_label: filebase64
|
|
description: |-
|
|
The filebase64 function reads the contents of the file at the given path and
|
|
returns them as a base64-encoded string.
|
|
---
|
|
|
|
# `filebase64` Function
|
|
|
|
`filebase64` reads the contents of a file at the given path and returns them as
|
|
a base64-encoded string.
|
|
|
|
```hcl
|
|
filebase64(path)
|
|
```
|
|
|
|
The result is a Base64 representation of the raw bytes in the given file.
|
|
Strings in the OpenTofu 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.
|
|
|
|
OpenTofu uses the "standard" Base64 alphabet as defined in
|
|
[RFC 4648 section 4](https://tools.ietf.org/html/rfc4648#section-4).
|
|
|
|
This function can be used only with functions that already exist as static
|
|
files on disk at the beginning of an OpenTofu run. Language functions do not
|
|
participate in the dependency graph, so this function cannot be used with
|
|
files that are generated dynamically during an OpenTofu operation.
|
|
|
|
## Examples
|
|
|
|
```
|
|
> filebase64("${path.module}/hello.txt")
|
|
SGVsbG8gV29ybGQ=
|
|
```
|
|
|
|
## Related Functions
|
|
|
|
* [`file`](../../language/functions/file.mdx) 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`](../../language/functions/base64decode.mdx) can decode a Base64 string representing
|
|
bytes in UTF-8, but in practice `base64decode(filebase64(...))` is equivalent
|
|
to the shorter expression `file(...)`.
|