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"
}