💬

tflint v0.49.0以降におけるtflint-ignoreの行コメントフォーマット

2024/04/17に公開

tflintにて部分的にルールの適用を無視したい場合はtflint-ignoreを利用する。

resource "aws_instance" "foo" {
    # tflint-ignore: aws_instance_invalid_type
    instance_type = "t10.2xlarge"
}

https://github.com/terraform-linters/tflint/blob/master/docs/user-guide/annotations.md

なぜignoreしたのか忘れないように理由を記載しておきたい。
tflint v0.47.0までは次のようにスペース区切りでコメントを残しておくことができた。

resource "aws_instance" "foo" {
    # tflint-ignore: aws_instance_invalid_type too new for TFLint
    instance_type = "t10.2xlarge"
}

v0.48.0 では複数のルールを無視するときにコンマ+スペース区切りで指定できるようになった。このため同一行にはコメントを残すことは許容されなくなった。
コメントを残す場合は別の行に記載する必要がある。

resource "aws_instance" "foo" {
    # too new for TFLint
    # tflint-ignore: aws_instance_invalid_type, other_rule
    instance_type = "t10.2xlarge"
}

https://github.com/terraform-linters/tflint/pull/1834

別の行にコメントを残せばよいのだが同一行にコメントを残したいケースもある。
こういったケースをサポートするためにv0.49.0からはコメント冒頭にコメント区切りとして //#が導入された。

resource "aws_instance" "foo" {
    # tflint-ignore: aws_instance_invalid_type # too new for TFLint
    instance_type = "t10.2xlarge"
}

https://github.com/terraform-linters/tflint/pull/1892

以上から、tflintをv0.47.0からv0.49.0にアップデートする場合はtflint-ignoreと同一行におけるコメントフォーマットを修正する必要がある。

Discussion