TFLintの設定については以下を参照。 【TFLint】Terraformのコードをチェックする
terraform_deprecated_index
リソースの配列.*.リソースの属性
のようにリソースのリストの要素をリストで取得しようとするとTFLintで以下のようなWarningが出た。
(例ではlocal.subnets.*.idと記載した。)
Warning: [Fixable] List items should be accessed using square brackets (terraform_deprecated_index)
  on vpc.tf line 65:
  65:   value = local.subnets.*.id
Reference: https://github.com/terraform-linters/tflint-ruleset-terraform/blob/v0.4.0/docs/rules/terraform_deprecated_index.md
定義のドキュメントについては以下の通り。
» tflint-ruleset-terraform/docs/rules/terraform_deprecated_index.md at v0.4.0 · terraform-linters/tflint-ruleset-terraform
対応方法
リソースの配列.*.リソースの属性のようにリソースのリストの要素をリストで取得する場合は[*]を使用する。
.*による配列アクセスはレガシーな記法となっており、Terraform 0.12以降は[*]を使用するように推奨されている。
つまり、リソースの配列[*].リソースの属性と記載する必要がある。
local.subnets.*.id
の場合は以下のように修正する。
local.subnets[*].id
terraform_deprecated_indexルールを無効化する
terraform_deprecated_indexルールを無効化するには.tflint.hclに以下の記述を追加する。
rule {
  enabled = false
  name = "terraform_deprecated_index"
}
\手を動かしながらTerraformを学びたい人にオススメ!/

