-
Notifications
You must be signed in to change notification settings - Fork 0
/
.tflint.hcl
127 lines (104 loc) · 2.82 KB
/
.tflint.hcl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
config {
module = true
disabled_by_default = false
# varfile = ["dev.tfvars", "prod.tfvars"]
}
# https://github.com/terraform-linters/tflint-ruleset-azurerm/blob/master/docs/README.md
plugin "azurerm" {
enabled = false
version = "0.20.0"
source = "github.com/terraform-linters/tflint-ruleset-azurerm"
}
# https://github.com/terraform-linters/tflint-ruleset-aws/blob/master/docs/configuration.md
# https://github.com/terraform-linters/tflint-ruleset-aws/blob/master/docs/rules/README.md
plugin "aws" {
enabled = true
version = "0.21.2"
source = "github.com/terraform-linters/tflint-ruleset-aws"
}
# https://github.com/terraform-linters/tflint-ruleset-google/blob/master/docs/rules/README.md
plugin "google" {
enabled = false
version = "0.22.2"
source = "github.com/terraform-linters/tflint-ruleset-google"
}
# Disallow // comments in favor of #.
rule "terraform_comment_syntax" {
enabled = true
}
# Disallow legacy dot index syntax.
rule "terraform_deprecated_index" {
enabled = true
}
# Disallow deprecated (0.11-style) interpolation
rule "terraform_deprecated_interpolation" {
enabled = true
}
# Disallow output declarations without description.
rule "terraform_documented_outputs" {
enabled = false
}
# Disallow variable declarations without description.
rule "terraform_documented_variables" {
enabled = true
}
# Disallow specifying a git or mercurial repository as a module source without pinning to a version.
rule "terraform_module_pinned_source" {
# TODO - enable this rule
enabled = false
}
rule "terraform_module_version" {
enabled = true
exact = false # default
}
# Require that all providers have version constraints through required_providers.
rule "terraform_required_providers" {
enabled = true
}
# Disallow terraform declarations without require_version.
rule "terraform_required_version" {
enabled = true
}
# Ensure that a module complies with the Terraform Standard Module Structure
rule "terraform_standard_module_structure" {
enabled = false
}
# Disallow variable declarations without type.
rule "terraform_typed_variables" {
enabled = true
}
# Disallow variables, data sources, and locals that are declared but never used.
rule "terraform_unused_declarations" {
enabled = true
}
rule "terraform_unused_required_providers" {
enabled = true
}
# terraform.workspace should not be used with a "remote" backend with remote execution.
rule "terraform_workspace_remote" {
enabled = true
}
# Enforces naming conventions
rule "terraform_naming_convention" {
enabled = true
#Require specific naming structure
variable {
format = "snake_case"
}
locals {
format = "snake_case"
}
output {
format = "snake_case"
}
#Allow any format
resource {
format = "none"
}
module {
format = "none"
}
data {
format = "none"
}
}