В required_providers указывают version = "~> 5.0" (pessimistic) или точный pin; цель — предсказуемые schema и поведение API-клиента.
Разбор
~> допускает патчи, блокирует major.
- Перед major upgrade — changelog и отдельный PR с plan.
- Lock-файл дополняет constraints точными версиями.
- Разъехавшиеся версии = «у меня plan другой».
Итог
Constraints + lockfile стабилизируют провайдеры в команде.