在Terraform Cloud环境中,升级0.13版本及更早版本时,出现无效的旧提供者地址的解决方案

总结

    • GitHub.com と Terraform Cloud 利用環境(state を Terraform Cloud で管理している)

 

    • Terraform Cloud の Workspace の terraform version を 0.13 より古いものから最新版(1.2.1)に Upgrade したところ、terraform plan で Invalid legacy provider address が発生するようになってしまった。

provider も最新化している。

错误详细信息

│ Error: Invalid legacy provider address
│ 
│ This configuration or its associated state refers to the unqualified
│ provider "google".
│ 
│ You must complete the Terraform 0.13 upgrade process before upgrading to
│ later versions.

原因

    Terraform アップグレードに伴う、 google providor の更新が必要

应对

    • Cloud でも local でも terraform plan すると、同じ Invalid legacy provider address になってしまう。

 

    • とりあえずLocalで terraform login して、terraform init し、Invalid legacy provider address が表示されても、 .terraform 配下に backend 情報が生成される。

 

    • state を replace する(具体的には以下)

terraform state replace-provider registry.terraform.io/-/google registry.terraform.io/hashicorp/google

そうすると、 terraform init と terraform plan が通るようになった。

.terraform.lock.hcl が生成されるように変わるので、忘れずコミットする。

参考源

    • https://chroju.dev/blog/terraform_state_introduction

 

    https://stackoverflow.com/questions/65396812/invalid-legacy-provider-address-error-on-terraform
广告
将在 10 秒后关闭
bannerAds