Entrypoint for Terraform • Resource state management • Communicate with Terraform Plugins Terraform Plugins • Executable binary called by Terraform Core • Exposes an implementation for a specific services(GCP, AWS, local host, etc)
• Access external service APIs and CRUD resources • Managed Terraform State Terraform Provisioners • Run model specific actions for preparing the resources
if there are built-in providers 2. Check if Hashicorp distributes the provider 3. Check custom provider in the community, GitHub, etc 4. Develop by yourself! Ideally, there are no limits what you can manage!
habitat • puppet • remote-exec • salt-masterless • local-exec: Run any script on resource create or delete. See details Provisioners(https://www.terraform.io/docs/provisioners/index.html)
custom Providers By developing custom Terraform Providers, you can ideally manage any resource. Start building one! Provisions are done by local-exec Provisioners Terraform is mainly used as provisioning tool but can be also used as configuration management tool.