|
|
|
|
@ -7,24 +7,24 @@ description: >-
|
|
|
|
|
|
|
|
|
|
# Managing Plugins
|
|
|
|
|
|
|
|
|
|
Terraform relies on plugins called "providers" in order to manage various types
|
|
|
|
|
of resources. (For more information about providers, see
|
|
|
|
|
Terraform relies on plugins called providers to manage various types
|
|
|
|
|
of resources. For more information about providers, refer to
|
|
|
|
|
[Providers](/terraform/language/providers) in the Terraform
|
|
|
|
|
language docs.)
|
|
|
|
|
language docs.
|
|
|
|
|
|
|
|
|
|
-> **Note:** Providers are the only plugin type most Terraform users interact with. Terraform also supports third-party provisioner plugins, but
|
|
|
|
|
we discourage their use.
|
|
|
|
|
|
|
|
|
|
Terraform downloads and/or installs any providers
|
|
|
|
|
Terraform installs any providers
|
|
|
|
|
[required](/terraform/language/providers/requirements) by a configuration
|
|
|
|
|
when [initializing](/terraform/cli/init) a working directory. By default,
|
|
|
|
|
this works without any additional interaction but requires network access to
|
|
|
|
|
download providers from their source registry.
|
|
|
|
|
|
|
|
|
|
You can configure Terraform's provider installation behavior to limit or skip
|
|
|
|
|
network access, and to enable use of providers that aren't available via a
|
|
|
|
|
network access, and to enable use of providers that aren't available through a
|
|
|
|
|
networked source. Terraform also includes some commands to show information
|
|
|
|
|
about providers and to reduce the effort of installing providers in airgapped
|
|
|
|
|
about providers and to reduce the effort of installing providers in air-gapped
|
|
|
|
|
environments.
|
|
|
|
|
|
|
|
|
|
## Configuring Plugin Installation
|
|
|
|
|
@ -50,9 +50,9 @@ offered by each provider.
|
|
|
|
|
|
|
|
|
|
Use the [`terraform providers mirror`](/terraform/cli/commands/providers/mirror) command to
|
|
|
|
|
download local copies of every provider required by the current working
|
|
|
|
|
directory's configuration. This directory will use the nested directory layout
|
|
|
|
|
directory's configuration. The directory uses the nested directory layout
|
|
|
|
|
that Terraform expects when installing plugins from a local source, so you can
|
|
|
|
|
transfer it directly to an airgapped system that runs Terraform.
|
|
|
|
|
transfer it directly to an air-gapped system that runs Terraform.
|
|
|
|
|
|
|
|
|
|
Use the [`terraform providers lock`](/terraform/cli/commands/providers/lock) command
|
|
|
|
|
to update the lock file that Terraform uses to ensure predictable runs when
|
|
|
|
|
|