Terraform can Function: The Most Misused Boolean in IaC

can does not fix errors.
It only tells you if an expression failed.

That distinction changes how you design Terraform logic.

If you use can to guard resource behavior, you risk hiding broken assumptions.
If you use it at the input boundary, you stop bad data before it spreads.

The mechanism is simple:
can turns evaluation failure into true or false.

The outcome depends on placement.
Used correctly, it strengthens validation.
Used incorrectly, it creates silent failure paths.

Most engineers should be using try instead.

https://youtu.be/t9AEoR2jS0g