まーぽんって誰がつけたの?

iOS→Scala→インフラなおじさん技術メモ

terraformが0.10になってからproviderがpluginで取り込むようになってた

providerごとにrepositoryが分裂した

https://www.hashicorp.com/blog/upcoming-provider-changes-in-terraform-0-10

0.9系まではhashicor/terraformで全てのprovider(AWSやGCPやいろんなもの)を管理してた。なのでそこに全ての要望やバグ報告がくるのでissueの数が1万とかになってたような記憶がある。

あまりにも辛すぎたのか、それが、providerごとにrepositoryが分かれるようになった。 organizationもかわり、terraform-providersにおかれるようになった。

terraform initが必須になる

じゃあこのproviderのpluginをいつとりにいくのかっていうと、terraform initコマンドを打った時。

$ terraform init
Downloading modules...

Initializing the backend...

Initializing provider plugins...
- Checking for available provider plugins on https://releases.hashicorp.com...
- Downloading plugin for provider "template" (1.0.0)...
- Downloading plugin for provider "aws" (1.1.0)...
- Downloading plugin for provider "terraform" (1.0.1)...

これで最新のproviderのpluginをとりにいく。

バージョン指定

例えば、awsのproviderだけは新しいやつをとりにいきたくないみたいなときは、providerのところにversion指定かかないといけないっぽい。

provider "aws" {
  version = "~> 1.0"

  access_key = "foo"
  secret_key = "bar"
  region     = "us-east-1"
}

これできっとリリースタイミングなども早くなるだろうしいいことだろう。 issueも検索しやすくなりそう。