


For “ adeleporte/velocloud“, Terraform will check the Terraform Registry for a “ velocloud” provider registered under the “ adeleporte” username. If, for example, your file includes “ provider aws“, Terraform will deduce it has to download the Terraform AWS provider before it tries to deploy AWS resources.įor providers distributed by HashiCorp, init will automatically download from the Terraform Registry and install plugins if necessary.īut what if you want to use an experimental provider? Or want to leverage one that is not officially provided by HashiCorp? How can you specify the provider you require?īy using “provider requirements” and the “ required_providers” keyword!īy default, when you define the source as field1/field2, Terraform will look at the user field1 and the provider field2 on the official Terraform Registry. When you run a “ terraform init” command, a number of things happened, as documented in the official documentation.ĭuring init, Terraform checks the configuration of configuration files (.tf files – main.tf in most of my examples) for direct and indirect references to providers and attempts to load the required plugins. One of the first actions before you deploy resources with Terraform is to initialize Terraform with “ terraform init“. Let’s review first the challenges we sometimes come across with Terraform. This blog post would have saved me hours (yes, literally hours) of work if a feature had been documented a bit more clearly… I hope it will help readers save some time too!
