Skip to main content

uuid Function

uuid generates a unique identifier string.

The result is 16 random bytes formatted in the UUID string layout (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). All 128 bits are pseudorandom — the function does not set the version or variant bits described in RFC 4122, so the output is not a standards-compliant Version 4 UUID.

This function produces a new value each time it is called, and so using it directly in resource arguments will result in spurious diffs. We do not recommend using the uuid function in resource configurations, but it can be used with care in conjunction with the ignore_changes lifecycle meta-argument.

In most cases we recommend using the random provider instead, since it allows the one-time generation of random values that are then retained in the OpenTofu state for use by future operations. In particular, random_id can generate results with equivalent randomness to the uuid function.

Examples​

Code Block
> uuid()
b5ee72a3-54dd-c4b8-551c-4bdc0204cedb
  • uuidv5, which generates name-based UUIDs.