Terraform v0.11.11での話です。
結論
terraform import
でproviderを使いたい場合には、configurationのprovider
attributeは尊重されないので、コマンドラインオプションの-provider=
で指定する。
なぜ
provider "aws" {
alias = "foo"
assume_role {
role_arn = "..."
}
}
resource "bar" "baz" {
provider = "aws.foo"
}
とういようなconfigurationで
terraform import bar.baz id
しようとしたところ、権限周りのエラーが出てしまいました。
少し試行錯誤してみると、そもそも指定しているprovider自体が使われてすらいないようです。
調べてみると関連するIssueがありました。
https://github.com/hashicorp/terraform/issues/17139#issuecomment-358721319
将来的にはimportがconfiguration自体を生成するようにしたいと考えていて、そのためのデザインとのことです。