11 Extending Terraform by Writing Your Own Provider
This chapter covers:
- Developing a custom Terraform provider from scratch
- Implementing CRUD operations for managed resources
- Writing acceptance tests for the provider schema and resource files
- Deploying a serverless API to listen to requests from the provider
- Building and installing third-party providers
Extending Terraform by writing your own provider is one of the most satisfying things you can do with Terraform. It demonstrates a high-level proficiency with the technology and grants considerable flexibility to tweak Terraform to your needs. Although it’s not as challenging as some people make it out to be, it still a huge investment in time and effort. When might it be worth it to develop your own custom provider?
Two good reasons are:
- Wrapping an API for self-service infrastructure provisioning
- Exposing utility functions to Terraform