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も検索しやすくなりそう。