Using third-party plugins

Regardless to how convenient it is to connect Terraform with other external tools, such as configuration management systems, one would always prefer a built-in, native solution. An example is, as discussed previously, the Chef provisioner: while it's possible to do exactly the same with remote-exec, it's much faster to use special provisioner written just for this purpose. Unfortunately, while the list of supported providers is long, some of the technologies or services you need will be missing.

Luckily, Terraform has a plugin-based architecture, and it's trivial to extend it with custom providers and provisioners. Plugins are written in the Go programming language, and if you want to write your own, you need to have at ...

Get Getting Started with Terraform now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.