Terraform 安装多个版本的 azurerm 提供程序

时间:2021-07-15 14:16:27

标签: azure terraform terraform-provider-azure

我们一直在使用旧版本的 Terraform 和 azurerm 提供程序,我正在尝试更新每个版本的较新(对我们而言)版本的代码,在这种情况下:

  • 地形:v0.13.7
  • azurerm:v2.25

作为重新编码的一部分,我将改用 Terraform 提供程序块:

terraform {
  required_version  = "~> 0.13"
  required_providers {
    azurerm = {
      version = "= 2.25.0"
      source  = "hashicorp/azurerm"
    }
  }
}
provider azurerm {
  skip_provider_registration = true
  features {}
}

Terraform 正在下载提供者的 v2.25 版本,但也正在下载 v2.67 版本:

$ terraform init 

Initializing the backend...

Initializing provider plugins...
- terraform.io/builtin/terraform is built in to Terraform
- Finding hashicorp/azurerm versions matching "2.25.0"...
- Finding latest version of -/azurerm...
- Installing hashicorp/azurerm v2.25.0...
- Installed hashicorp/azurerm v2.25.0 (signed by HashiCorp)
- Installing -/azurerm v2.67.0...
- Installed -/azurerm v2.67.0 (signed by HashiCorp)

到目前为止,这似乎不是问题,但我不明白为什么要下载多个版本。可能是因为在另一个定义后端的代码文件中(我们使用 Azure 存储作为 Terraform 状态),它看到了“azurerm”引用并将其视为“新”引用?

terraform {
  backend azurerm {
    container_name       = "terraforminfra-v2"
    key                  = "state/postgres.tfstate"
  }
}

1 个答案:

答案 0 :(得分:0)

好的,我想通了……对提供者的“旧”引用仍处于 Terraform 状态,我认为这是触发下载最新版本的原因。

相关问题