At work we've spent the last 12 months or more rebuilding our platform in Terraform. We previously had automation around deploying the VMs themselves (and Puppet would take over the configuration when the machines came up), but other stuff such as setting up Virtual Networks, VPN gateways and routing, Domain