You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"message": "Bucket names can consist only of lowercase letters, numbers, dots (.), and hyphens (-). (name: \"foo_bar\", regex: \"[^a-z0-9\\\\.\\\\-]\")",
Message: `Bucket name "a-really-ultra-hiper-super-long-foo-bar-baz-bucket-name.domain.test" must be between 3 and 63 characters`,
134
+
Message: `Bucket names must be between 3 (min) and 63 (max) characters long. (name: "a-really-ultra-hiper-super-long-foo-bar-baz-bucket-name.domain.test", regex: "^.{0,2}$|.{64,}$")`,
131
135
Range: hcl.Range{
132
136
Filename: "resource.tf",
133
137
Start: hcl.Pos{Line: 3, Column: 12},
134
138
End: hcl.Pos{Line: 3, Column: 81},
135
139
},
136
140
},
141
+
{
142
+
Rule: NewAwsS3BucketNameRule(),
143
+
Message: `Bucket names must be between 3 (min) and 63 (max) characters long. (name: "xy", regex: "^.{0,2}$|.{64,}$")`,
144
+
Range: hcl.Range{
145
+
Filename: "resource.tf",
146
+
Start: hcl.Pos{Line: 7, Column: 12},
147
+
End: hcl.Pos{Line: 7, Column: 16},
148
+
},
149
+
},
150
+
},
151
+
},
152
+
{
153
+
Name: "invalid_characters",
154
+
Content: `
155
+
resource "aws_s3_bucket" "invalid_characters" {
156
+
bucket = "who_am_I?.com"
157
+
}
158
+
`,
159
+
Expected: helper.Issues{
160
+
{
161
+
Rule: NewAwsS3BucketNameRule(),
162
+
Message: `Bucket names can consist only of lowercase letters, numbers, dots (.), and hyphens (-). (name: "who_am_I?.com", regex: "[^a-z0-9\\.\\-]")`,
163
+
Range: hcl.Range{
164
+
Filename: "resource.tf",
165
+
Start: hcl.Pos{Line: 3, Column: 12},
166
+
End: hcl.Pos{Line: 3, Column: 27},
167
+
},
168
+
},
169
+
},
170
+
},
171
+
{
172
+
Name: "invalid_begin_end",
173
+
Content: `
174
+
resource "aws_s3_bucket" "invalid_begin" {
175
+
bucket = ".domain.com"
176
+
}
177
+
178
+
resource "aws_s3_bucket" "invalid_end" {
179
+
bucket = "domain.com."
180
+
}
181
+
`,
182
+
Expected: helper.Issues{
183
+
{
184
+
Rule: NewAwsS3BucketNameRule(),
185
+
Message: `Bucket names must begin and end with a lowercase letter or number. (name: ".domain.com", regex: "^[^a-z0-9]|[^a-z0-9]$")`,
186
+
Range: hcl.Range{
187
+
Filename: "resource.tf",
188
+
Start: hcl.Pos{Line: 3, Column: 12},
189
+
End: hcl.Pos{Line: 3, Column: 25},
190
+
},
191
+
},
192
+
{
193
+
Rule: NewAwsS3BucketNameRule(),
194
+
Message: `Bucket names must begin and end with a lowercase letter or number. (name: "domain.com.", regex: "^[^a-z0-9]|[^a-z0-9]$")`,
195
+
Range: hcl.Range{
196
+
Filename: "resource.tf",
197
+
Start: hcl.Pos{Line: 7, Column: 12},
198
+
End: hcl.Pos{Line: 7, Column: 25},
199
+
},
200
+
},
201
+
},
202
+
},
203
+
{
204
+
Name: "adjacent_periods",
205
+
Content: `
206
+
resource "aws_s3_bucket" "adjacent_periods" {
207
+
bucket = "domain..com"
208
+
}
209
+
`,
210
+
Expected: helper.Issues{
211
+
{
212
+
Rule: NewAwsS3BucketNameRule(),
213
+
Message: `Bucket names must not contain two adjacent periods. (name: "domain..com", regex: "\\.\\.")`,
214
+
Range: hcl.Range{
215
+
Filename: "resource.tf",
216
+
Start: hcl.Pos{Line: 3, Column: 12},
217
+
End: hcl.Pos{Line: 3, Column: 25},
218
+
},
219
+
},
220
+
},
221
+
},
222
+
{
223
+
Name: "ipv4",
224
+
Content: `
225
+
resource "aws_s3_bucket" "ipv4" {
226
+
bucket = "192.168.0.254"
227
+
}
228
+
`,
229
+
Expected: helper.Issues{
230
+
{
231
+
Rule: NewAwsS3BucketNameRule(),
232
+
Message: `Bucket names must not be formatted as an IP address. (name: "192.168.0.254")`,
233
+
Range: hcl.Range{
234
+
Filename: "resource.tf",
235
+
Start: hcl.Pos{Line: 3, Column: 12},
236
+
End: hcl.Pos{Line: 3, Column: 27},
237
+
},
238
+
},
239
+
},
240
+
},
241
+
{
242
+
Name: "invalid_prefix_xn",
243
+
Content: `
244
+
resource "aws_s3_bucket" "invalid_prefix_xn" {
245
+
bucket = "xn--domain.com"
246
+
}
247
+
`,
248
+
Expected: helper.Issues{
249
+
{
250
+
Rule: NewAwsS3BucketNameRule(),
251
+
Message: `Bucket names must not start with the prefix 'xn--'. (name: "xn--domain.com", regex: "^xn--")`,
Message: `Bucket names must not start with the prefix 'sthree-' and the prefix 'sthree-configurator'. (name: "sthree-domain.com", regex: "^(sthree-|sthree-configurator)")`,
0 commit comments