Definition:

  • 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.
  • each provider add a set of Terraform Resource and Terraform Data Source that TF can manage
  • There are different tiers of provider: Official, Partner, Community, Archived

provider block:

  •   provider "<PROVIDER_NAME>" {
        <PROVIDER_ARGUMENTS>
        alias   = "<ALIAS_NAME>"
      }
  • Alias: A unique identifier for a specific provider configuration
    • letting you use multiple configurations for the same provider
    • ex: multiple regions for aws

1. Provider requirements:

2. Dependency lock file: