HashiCorp Terraform 0.12.2 added official support for a Puppet provisioner. One caveat is that the provisioner is only available in 0.12.x of Terraform. The provisioner provides a number of features, such as adding data to the CSR for trusted facts, selecting between open-source and enterprise agent versions, and autosigning the CSR. This post uses the Terraform vSphere provisioner to provision a CentOS virtual machine. The provisioner autosign feature will be used to automatically sign the CSR on the Puppet master.