Which infrastructure as code (IaC) practice allows network configurations to be version-controlled and reproducibly deployed?