Back to Opentofu

`uuid` Function

website/docs/language/functions/uuid.mdx

1.12.01.6 KB
Original Source

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.

:::note If you need standards-compliant UUIDs (for example, Version 4 or Version 7), consider using a provider that exposes UUID generation through provider-defined functions. :::

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

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