1+ # ############################################################################################
2+ # In the event that you need to disable a rule within a file, please read about annotations :
3+ # https://github.com/terraform-linters/tflint/blob/master/docs/user-guide/annotations.md
4+ # ############################################################################################
5+
16config {
27 call_module_type = " all"
38 force = false
@@ -12,100 +17,154 @@ tflint {
1217}
1318
1419# Only the AWS plugin is enabled. The Google and Azure plugins are not enabled as we have no current use for them.
20+ # https://github.com/terraform-linters/tflint-ruleset-aws/blob/master/docs/rules/README.md
1521plugin "aws" {
1622 enabled = true
1723 source = " github.com/terraform-linters/tflint-ruleset-aws"
18- version = " 0.38 .0"
24+ version = " 0.43 .0"
1925 deep_check = true
2026}
2127
2228#
23- # Please check https://github.com/terraform-linters/tflint-ruleset-terraform/tree/v0.5.0/docs/rules for new rules
24- # (adjust the version accordingly)
29+ # Please check https://github.com/terraform-linters/tflint-ruleset-terraform/tree/main/docs/rules for new rules
2530#
2631
27- # Use '#' for comments rather than '//'.
32+ # Disallow // comments in favor of #
33+ # https://github.com/terraform-linters/tflint-ruleset-terraform/blob/main/docs/rules/terraform_comment_syntax.md
34+ # Checked for changes 2025-10-07
2835rule "terraform_comment_syntax" {
2936 enabled = true
3037}
3138
32- # List items should be accessed using square brackets
39+ # Disallow legacy dot index syntax
40+ # https://github.com/terraform-linters/tflint-ruleset-terraform/blob/main/docs/rules/terraform_deprecated_index.md
41+ # Checked for changes 2025-10-07
3342rule "terraform_deprecated_index" {
3443 enabled = true
3544}
3645
37- # Interpolation-only expressions are deprecated in Terraform v0.12.14
46+ # Disallow deprecated (0.11-style) interpolation
47+ # https://github.com/terraform-linters/tflint-ruleset-terraform/blob/main/docs/rules/terraform_deprecated_interpolation.md
48+ # Checked for changes 2025-10-07
3849rule "terraform_deprecated_interpolation" {
3950 enabled = true
4051}
4152
42- # Lookup with 2 arguments is deprecated
53+ # Disallow deprecated lookup() function with only 2 arguments.
54+ # https://github.com/terraform-linters/tflint-ruleset-terraform/blob/main/docs/rules/terraform_deprecated_lookup.md
55+ # Checked for changes 2025-10-07
4356rule "terraform_deprecated_lookup" {
4457 enabled = true
4558}
4659
47- # Outputs require a description
60+ # Disallow output declarations without description
61+ # https://github.com/terraform-linters/tflint-ruleset-terraform/blob/main/docs/rules/terraform_documented_outputs.md
62+ # Checked for changes 2025-10-07
4863rule "terraform_documented_outputs" {
4964 enabled = true
5065}
5166
52- # Variables require a description
67+ # Disallow variable declarations without description
68+ # https://github.com/terraform-linters/tflint-ruleset-terraform/blob/main/docs/rules/terraform_documented_variables.md
69+ # Checked for changes 2025-10-07
5370rule "terraform_documented_variables" {
5471 enabled = true
5572}
5673
57- # Comparing a collection with an empty list is invalid. To detect an empty collection, check its length
74+ # Disallow comparisons with [] when checking if a collection is empty
75+ # https://github.com/terraform-linters/tflint-ruleset-terraform/blob/main/docs/rules/terraform_empty_list_equality.md
76+ # Checked for changes 2025-10-07
5877rule "terraform_empty_list_equality" {
5978 enabled = true
6079}
6180
81+ # Disallow duplicate keys in a map object
82+ # https://github.com/terraform-linters/tflint-ruleset-terraform/blob/main/docs/rules/terraform_map_duplicate_keys.md
83+ # Checked for changes 2025-10-07
84+ rule "terraform_map_duplicate_keys" {
85+ enabled = true
86+ }
87+
6288# Disallow specifying a git or mercurial repository as a module source without pinning to a version
63- rule terraform_module_pinned_source {
89+ # https://github.com/terraform-linters/tflint-ruleset-terraform/blob/main/docs/rules/terraform_module_pinned_source.md
90+ # Checked for changes 2025-10-07
91+ rule "terraform_module_pinned_source" {
92+ enabled = true
93+ style = " semver"
94+ }
95+
96+ # Require pinned Git-hosted Terraform modules to use shallow cloning
97+ # https://github.com/terraform-linters/tflint-ruleset-terraform/blob/main/docs/rules/terraform_module_shallow_clone.md
98+ # Checked for changes 2025-10-07
99+ rule "terraform_module_shallow_clone" {
64100 enabled = true
65101}
66102
67- # Ensure that all modules sourced from a Terraform Registry specify a version
103+ # Checks that Terraform modules sourced from a registry specify a version
104+ # https://github.com/terraform-linters/tflint-ruleset-terraform/blob/main/docs/rules/terraform_module_version.md
105+ # Checked for changes 2025-10-07
68106rule "terraform_module_version" {
69107 enabled = true
70108 exact = false # default
71109}
72110
73- # Enforces naming conventions
111+ # Enforces naming conventions for resources, data sources, etc
112+ # https://github.com/terraform-linters/tflint-ruleset-terraform/blob/main/docs/rules/terraform_naming_convention.md
113+ # Checked for changes 2025-10-07
74114rule "terraform_naming_convention" {
75115 enabled = true
76116 format = " snake_case"
77117}
78118
79- # Require that all providers specify a source and version constraint through required_providers
119+ # Require that all providers have version constraints through required_providers
120+ # https://github.com/terraform-linters/tflint-ruleset-terraform/blob/main/docs/rules/terraform_required_providers.md
121+ # Checked for changes 2025-10-07
80122rule "terraform_required_providers" {
81123 enabled = true
82124
83125 # defaults
84- source = true
126+ source = true
85127 version = true
86128}
87129
88- # Disallow terraform declarations without required_version
130+ # Disallow terraform declarations without require_version
131+ # https://github.com/terraform-linters/tflint-ruleset-terraform/blob/main/docs/rules/terraform_required_version.md
132+ # Checked for changes 2025-10-07
89133rule "terraform_required_version" {
90134 enabled = true
91135}
92136
93- # Ensure that a module complies with the Terraform Standard Module Structure / https://www.terraform.io/docs/modules/index.html#standard-module-structure
137+ # Ensure that a module complies with the Terraform Standard Module Structure
138+ # https://github.com/terraform-linters/tflint-ruleset-terraform/blob/main/docs/rules/terraform_standard_module_structure.md
139+ # Checked for changes 2025-10-07
94140rule "terraform_standard_module_structure" {
95141 enabled = true
96142}
97143
98144# Disallow variable declarations without type
145+ # https://github.com/terraform-linters/tflint-ruleset-terraform/blob/main/docs/rules/terraform_typed_variables.md
146+ # Checked for changes 2025-10-07
99147rule "terraform_typed_variables" {
100148 enabled = true
101149}
102150
103151# Disallow variables, data sources, and locals that are declared but never used
104- rule terraform_unused_declarations {
152+ # https://github.com/terraform-linters/tflint-ruleset-terraform/blob/main/docs/rules/terraform_unused_declarations.md
153+ # Checked for changes 2025-10-07
154+ rule "terraform_unused_declarations" {
105155 enabled = true
106156}
107157
108158# Check that all required_providers are used in the module
109- rule terraform_unused_required_providers {
159+ # https://github.com/terraform-linters/tflint-ruleset-terraform/blob/main/docs/rules/terraform_unused_required_providers.md
160+ # Checked for changes 2025-10-07
161+ rule "terraform_unused_required_providers" {
162+ enabled = true
163+ }
164+
165+ # terraform.workspace should not be used with a "remote" backend with remote execution in Terraform v1.0.x
166+ # https://github.com/terraform-linters/tflint-ruleset-terraform/blob/main/docs/rules/terraform_workspace_remote.md
167+ # Checked for changes 2025-10-07
168+ rule "terraform_workspace_remote" {
110169 enabled = true
111170}
0 commit comments