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

1.6 KiB

layout page_title sidebar_current description
language coalesce - Functions - Configuration Language docs-funcs-collection-coalesce-x The coalesce function takes any number of arguments and returns the first one that isn't null nor empty.

coalesce Function

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

coalesce takes any number of arguments and returns the first one that isn't null or an empty string.

All of the arguments must be of the same type. Terraform will try to convert mismatched arguments to the most general of the types that all arguments can convert to, or return an error if the types are incompatible. The result type is the same as the type of all of the arguments.

Examples

> coalesce("a", "b")
a
> coalesce("", "b")
b
> coalesce(1,2)
1

To perform the coalesce operation with a list of strings, use the ... symbol to expand the list as arguments:

> coalesce(["", "b"]...)
b

Terraform attempts to select a result type that all of the arguments can convert to, so mixing argument types may produce surprising results due to Terraform's automatic type conversion rules:

> coalesce(1, "hello")
"1"
> coalesce(true, "hello")
"true"
> coalesce({}, "hello")

Error: Error in function call

Call to function "coalesce" failed: all arguments must have the same type.
  • coalescelist performs a similar operation with list arguments rather than individual arguments.