60 lines
2.7 KiB
Markdown
60 lines
2.7 KiB
Markdown
|
---
|
||
|
layout: "commands-providers"
|
||
|
page_title: "Command: providers mirror"
|
||
|
sidebar_current: "docs-commands-providers-mirror"
|
||
|
description: |-
|
||
|
The `terraform providers mirror` command downloads the providers required
|
||
|
for the current configuration and copies them into a directory in the local
|
||
|
filesystem.
|
||
|
---
|
||
|
|
||
|
# Command: terraform providers mirror
|
||
|
|
||
|
The `terraform providers mirror` command downloads the providers required
|
||
|
for the current configuration and copies them into a directory in the local
|
||
|
filesystem.
|
||
|
|
||
|
In normal use, `terraform init` will automatically download needed providers
|
||
|
from provider registries as part of initializing the current working directory.
|
||
|
Sometimes Terraform is running in an environment where that isn't possible,
|
||
|
such as on an isolated network without access to the Terraform Registry. In
|
||
|
that case,
|
||
|
[explicit installation method configuration](../cli-config.html#explicit-installation-method-configuration)
|
||
|
allows you to configure Terraform, when running on a particular system, to
|
||
|
consult only a local filesystem directory where you've created a local mirror
|
||
|
of the necessary plugins, and to skip accessing the upstream registry at all.
|
||
|
|
||
|
The `terraform providers mirror` command can automatically populate a directory
|
||
|
that will be used as a local filesystem mirror in the provider installation
|
||
|
configuration.
|
||
|
|
||
|
-> `terraform providers mirror` is available only in Terraform v0.13 or later.
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
Usage: `terraform providers mirror [options] <target-dir>`
|
||
|
|
||
|
A single target directory is required. Terraform will create under that
|
||
|
directory the path structure that is expected for filesystem-based provider
|
||
|
plugin mirrors, populating it both with `.zip` files containing the plugins
|
||
|
themselves and `.json` index files that describe what is available in the
|
||
|
directory.
|
||
|
|
||
|
This command supports the following additional option:
|
||
|
|
||
|
* `-platform=OS_ARCH` - Choose which target platform to build a mirror for.
|
||
|
By default Terraform will obtain plugin packages suitable for the platform
|
||
|
where you run this command. Use this flag multiple times to include packages
|
||
|
for multiple target systems.
|
||
|
|
||
|
Target platform names names consist of an operating system and a CPU
|
||
|
architecture. For example, `linux_amd64` selects the Linux operating system
|
||
|
running on an AMD64 or x86_64 CPU.
|
||
|
|
||
|
You can run `terraform providers mirror` again on an existing mirror directory
|
||
|
to update it with new packages. For example, you can add packages for a new
|
||
|
target platform by re-running the command with the desired new `-platform=...`
|
||
|
option, and it will place the packages for that new platform without removing
|
||
|
packages you previously downloaded, merging the resulting set of packages
|
||
|
together to update the JSON index files.
|