
コードお直しツール”tflint”のバージョン互換性エラーの調査
こんにちは。コンサルティング部の津谷です。
【はじめに】
皆さんは、tflintというツールはご存じでしょうか。簡単に説明すると、コードに不備がないかをチェックしてくれるものです。具体的にはTerraformやクラウドプロバイダー固有の記載ルールをプラグインし、そのデータに基づきコードの検査をしてくれるツールです。ルールをセットすることでディレクトリ内のモジュールをすべて確認します。(外部モジュールも含めて)今回はtflintでAWSプラグインをインストールする際に、躓いた箇所があったので調査してみました。
【環境構成】
OS:Windows2022
ツール:
- Terraform(v1.12.2)amd64
- VSCode(v1.102)
- tflint(v0.58.1)
上記のツールは2025/07/15時点で最新版になります。ちなみにTerraformとtflintの実行ファイルのパスは下記です。
C\Tool\Terraform\Terrform.exe
C\Tool\Terraform\tflint.exe
↑同じディレクトリに配置しています。
【プラグインをインストールしてみた】
下記のように、.tflint.hclのファイルをVScodeのターミナルで実行してAWSプラグインをインストールしてみます。「tflink --init」と実行してみると結果は下記になりました。(外部モジュールも検査する場合はforce=trueにしてください)
↓コード
↓出力
エラーだと思い、調べてみるとどうやらtflintのv0.54.0のアップデート時に"module"属性が削除されてしまったようです。リリースノートにも記載ありました。重大な変更の部分を確認してみてください。
こっちのノートにもしっかりv0.50のタイミングで移行推奨がされていますね。
修正したコードで再度tflintの初期化作業を行うとしっかりAWSプラグインがインストールされたことを確認できます。
↓コード
↓出力
moduleの場合はtrueかfalseの2択で必要なモジュールだけ検査するといった拡張性の部分に難がありそうです。call_module_typeの場合は、ローカルモジュールだけ(自社で開発したモジュールだけの検査も可能)とか、部分検査ができるようです。
【最後に】
モジュール関連は、アップデートで変わったりするのでよく使っているサービスはリリースノート確認したり、アンテナを張ったりすることが大事だと気づかされました。
お読みいただきありがとうございました。