FAQ

An Introduction to Terraform Providers and Modules in the Terraform Community

Learn about Terraform providers and modules and the open source community around them.

Speakers

  • Xander Grzywinski
    Xander GrzywinskiSoftware Engineer, Apple

Transcript

Hey, everyone, I'm Xander Grzywinski. I'm a developer advocate with HashiCorp, and I focus mostly on Terraform.

Today I wanted to spend a little bit of time talking about the community ecosystem that we have surrounding Terraform.

The first thing in this ecosystem would be our providers. You've probably used various Terraform providers if you've written any Terraform configuration. These are things like the major cloud providers or various other tools.

On screen you can see an example of the AWS provider and how you would set this up for your code.

In addition to AWS, if you go to our documentation at terraform.io, you can see a long list of other providers. Google, Microsoft, and various other community tools such as LaunchDarkly are all represented on this providers page.

Learning about modules and the registry

The other major component that comes into this Terraform ecosystem would be modules. A module is just a wrapper around a collection of Terraform resources, and this is a great way to get your code broken down into smaller blocks that make it easily testable as well as reusable across various environments.

On screen is what it looks like to use a simple module in your configuration. You point to the source code and define the needed variables.

We also have the Terraform registry, and this lives at registry.terraform.io. This is a place where you can find community-developed modules that you can use in your own Terraform configuration. You can also contribute your own modules to the registry.

On screen is an example of an AWS module on the registry.

Recently, we launched the ability to host providers on the registry. You can go there to find the HashiCorp developer providers, but in the coming months we hope to see more community providers represented on the registry.

If you're looking for resources on how to get started developing modules or providers, you can see our documentation at terraform.io, and if you have any questions, please post to our community forum at discuss.HashiCorp.com.

More resources like this one