terraform0.13にしてからDigitalOceanでterraform initができなくなってた…ひいい
— adachin👾SRE (@adachin0817) August 23, 2020
DigitalOceanでSpacesを新しく作ろうとTerraformのtfファイルを作っていたら、以下のようにterraform initができない状況に遭遇しました。(ちなみにSpacesはAWSのS3みたいなやつ)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Warning: Additional provider information from registry The remote registry returned warnings for registry.terraform.io/-/digitalocean: - For users on Terraform 0.13 or greater, this provider has moved to digitalocean/digitalocean. Please update your source in required_providers. Error: Failed to install providers Could not find required providers, but found possible alternatives: hashicorp/digitalocean -> terraform-providers/digitalocean If these suggestions look correct, upgrade your configuration with the following command: terraform 0.13upgrade . |
エラー名の通りTerraform v0.13から新しくproviderをupgradeしてくれやということですが、そもそも公式ドキュメント(以下)には書き方が書いていなかったんですよね…
https://registry.terraform.io/providers/digitalocean/digitalocean/latest/docs
今回はその対応をブログします。
■Terraform 0.13 and digitalocean provider problem
Terraform 0.13 and digitalocean provider problem from Terraform
完全にこれよ!みんなハマっているようですが以下のように書けばいいとのことで、試してみましょう。
1 2 3 4 5 6 |
required_providers { digitalocean = { source = "digitalocean/digitalocean" version = "~> 1.22.1" } } |
ちなみにproviderのバージョンが 1.22.1
を指定していますが、最新は 1.22.2
ですね。 以下のリンクで確認できます。
https://registry.terraform.io/providers/digitalocean/digitalocean/latest
■do_backend.tf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
provider "digitalocean" { token = var.token spaces_access_id = var.access_id spaces_secret_key = var.secret_key } terraform { backend "remote" { hostname = "app.terraform.io" organization = "adachinr" workspaces { name = "adachin" } } required_providers { digitalocean = { source = "digitalocean/digitalocean" version = "1.22.2" } } } |
基本的にbackendを管理しているtfファイルに追記してあげれば大丈夫ですね。
- terraform init
良さそう!
■まとめ
ドキュメンタリーがまだ追いついていないのかな…required_providersは必須!
0件のコメント