0% found this document useful (0 votes)
9 views5 pages

Providers - Configuration Language - Terraform - HashiCorp Developer

Uploaded by

Sunil Yadav
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views5 pages

Providers - Configuration Language - Terraform - HashiCorp Developer

Uploaded by

Sunil Yadav
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Terraform Search

Developer / Terraform / Configuration Language / Providers

Providers v1.10.x (latest)

Hands-on: Try the Perform CRUD Operations with Providers tutorial.

Terraform relies on plugins called providers to interact with cloud providers, SaaS providers, and
other APIs.

Terraform configurations must declare which providers they require so that Terraform can install
and use them. Additionally, some providers require configuration (like endpoint URLs or cloud
regions) before they can be used.

What Providers Do
Each provider adds a set of resource types and/or data sources that Terraform can manage.

Every resource type is implemented by a provider; without providers, Terraform can't manage
any kind of infrastructure.

Most providers configure a specific infrastructure platform (either cloud or self-hosted).


Providers can also offer local utilities for tasks like generating random numbers for unique
resource names.

Where Providers Come From


Providers are distributed separately from Terraform itself, and each provider has its own release
cadence and version numbers.

The Terraform Registry is the main directory of publicly available Terraform providers, and hosts
providers for most major infrastructure platforms.

https://developer.hashicorp.com/terraform/language/providers 1/5
12/11/24, 11:32 PM Providers - Configuration Language | Terraform | HashiCorp Developer

Provider Documentation
Each provider has its own documentation, describing its resource types and their arguments.

The Terraform Registry includes documentation for a wide range of providers developed by
HashiCorp, third-party vendors, and our Terraform community. Use the "Documentation" link in
a provider's header to browse its documentation.

Provider documentation in the Registry is versioned; you can use the version menu in the
header to change which version you're viewing.

For details about writing, generating, and previewing provider documentation, see the provider
publishing documentation.

How to Use Providers


Providers are released separately from Terraform itself and have their own version numbers. In
production we recommend constraining the acceptable provider versions in the configuration's
provider requirements block, to make sure that terraform init does not install newer versions
of the provider that are incompatible with the configuration.

To use resources from a given provider, you need to include some information about it in your
configuration. See the following pages for details:

Provider Requirements documents how to declare providers so Terraform can install them.

Provider Configuration documents how to configure settings for providers.

Dependency Lock File documents an additional HCL file that can be included with a
configuration, which tells Terraform to always use a specific set of provider versions.

Provider Installation
HCP Terraform and Terraform Enterprise install providers as part of every run.

Terraform CLI finds and installs providers when initializing a working directory. It can
automatically download providers from a Terraform registry, or load them from a local mirror

https://developer.hashicorp.com/terraform/language/providers 2/5
12/11/24, 11:32 PM Providers - Configuration Language | Terraform | HashiCorp Developer

or cache. If you are using a persistent working directory, you must reinitialize whenever you
change a configuration's providers.

To save time and bandwidth, Terraform CLI supports an optional plugin cache. You can
enable the cache using the plugin_cache_dir setting in the CLI configuration file.

To ensure Terraform always installs the same provider versions for a given configuration, you can
use Terraform CLI to create a dependency lock file and commit it to version control along with
your configuration. If a lock file is present, HCP Terraform, CLI, and Enterprise will all obey it
when installing providers.

Hands-on: Try the Lock and Upgrade Provider Versions tutorial.

How to Find Providers


To find providers for the infrastructure platforms you use, browse the providers section of the
Terraform Registry.

Some providers on the Registry are developed and published by HashiCorp, some are published
by platform maintainers, and some are published by users and volunteers. The provider listings
use the following badges to indicate who develops and maintains a given provider.

https://developer.hashicorp.com/terraform/language/providers 3/5
12/11/24, 11:32 PM Providers - Configuration Language | Terraform | HashiCorp Developer

Tier Description Namespace

Official Official providers are owned and maintained hashicorp


by HashiCorp

Partner Partner providers are written, maintained, Third-party organization,


validated and published by third-party e.g.
companies against their own APIs. To earn a mongodb/mongodbatlas
partner provider badge the partner must
participate in the HashiCorp Technology
Partner Program.

Community Community providers are published to the Maintainer’s individual or


Terraform Registry by individual maintainers, organization account, e.g.
groups of maintainers, or other members of DeviaVir/gsuite
the Terraform community.

Archived Archived Providers are Official or Partner hashicorp or third-party


Providers that are no longer maintained by
HashiCorp or the community. This may occur
if an API is deprecated or interest was low.

How to Develop Providers


Providers are written in Go, using the Terraform Plugin SDK. For more information on
developing providers, see:

The Plugin Development documentation

The Call APIs with Terraform Providers tutorials

Edit this page on GitHub

https://developer.hashicorp.com/terraform/language/providers 4/5
12/11/24, 11:32 PM Providers - Configuration Language | Terraform | HashiCorp Developer

Theme System

Certifications System Status Cookie Manager Terms of Use Security Privacy Trademark Policy

Trade Controls Accessibility Give Feedback

https://developer.hashicorp.com/terraform/language/providers 5/5

You might also like