Skip to content

Commit e60dd99

Browse files
fix: add validations for variable name restrictions (#143)
* feat: add validations for variable name restrictions * refactor: remove the 'var.' from validation messages
1 parent bc7f909 commit e60dd99

File tree

1 file changed

+32
-7
lines changed

1 file changed

+32
-7
lines changed

variables.tf

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ variable "security_resource_group_name" {
99

1010
validation {
1111
condition = length(coalesce(var.security_resource_group_name, "null")) <= 40
12-
error_message = "`var.security_resource_group_name` must be 40 characters or less."
12+
error_message = "`security_resource_group_name` must be 40 characters or less."
1313
}
1414
}
1515

@@ -20,7 +20,7 @@ variable "audit_resource_group_name" {
2020

2121
validation {
2222
condition = length(coalesce(var.audit_resource_group_name, "null")) <= 40
23-
error_message = "`var.audit_resource_group_name` must be 40 characters or less."
23+
error_message = "`audit_resource_group_name` must be 40 characters or less."
2424
}
2525
}
2626

@@ -31,7 +31,7 @@ variable "observability_resource_group_name" {
3131

3232
validation {
3333
condition = length(coalesce(var.observability_resource_group_name, "null")) <= 40
34-
error_message = "`var.observability_resource_group_name` must be 40 characters or less."
34+
error_message = "`observability_resource_group_name` must be 40 characters or less."
3535
}
3636
}
3737

@@ -42,7 +42,7 @@ variable "management_resource_group_name" {
4242

4343
validation {
4444
condition = length(coalesce(var.management_resource_group_name, "null")) <= 40
45-
error_message = "`var.management_resource_group_name` must be 40 characters or less."
45+
error_message = "`management_resource_group_name` must be 40 characters or less."
4646
}
4747
}
4848

@@ -53,7 +53,7 @@ variable "workload_resource_group_name" {
5353

5454
validation {
5555
condition = length(coalesce(var.workload_resource_group_name, "null")) <= 40
56-
error_message = "`var.workload_resource_group_name` must be 40 characters or less."
56+
error_message = "`workload_resource_group_name` must be 40 characters or less."
5757
}
5858
}
5959

@@ -64,7 +64,7 @@ variable "edge_resource_group_name" {
6464

6565
validation {
6666
condition = length(coalesce(var.edge_resource_group_name, "null")) <= 40
67-
error_message = "`var.edge_resource_group_name` must be 40 characters or less."
67+
error_message = "`edge_resource_group_name` must be 40 characters or less."
6868
}
6969
}
7070

@@ -75,7 +75,7 @@ variable "devops_resource_group_name" {
7575

7676
validation {
7777
condition = length(coalesce(var.devops_resource_group_name, "null")) <= 40
78-
error_message = "`var.devops_resource_group_name` must be 40 characters or less."
78+
error_message = "`devops_resource_group_name` must be 40 characters or less."
7979
}
8080
}
8181

@@ -216,6 +216,16 @@ variable "cos_instance_name" {
216216
type = string
217217
description = "The name to give the cloud object storage instance that will be provisioned by this module, required if 'var.provision_atracker_cos' is true."
218218
default = null
219+
220+
validation {
221+
condition = var.cos_instance_name == null ? true : length(var.cos_instance_name) <= 180
222+
error_message = "`cos_instance_name` must be 180 characters or less"
223+
}
224+
225+
validation {
226+
condition = var.cos_instance_name == null ? true : length(regexall("^([^[:ascii:]]|[a-zA-Z0-9-._: ])+$", var.cos_instance_name)) > 0
227+
error_message = "`cos_instance_name` must match the following regex pattern: \"^([^[:ascii:]]|[a-zA-Z0-9-._: ])+$\""
228+
}
219229
}
220230

221231
variable "resource_tags" {
@@ -234,6 +244,21 @@ variable "cos_bucket_name" {
234244
type = string
235245
description = "The name to give the newly provisioned COS bucket which will be used for Activity Tracker logs, required if 'var.provision_atracker_cos' is true."
236246
default = null
247+
248+
validation {
249+
condition = var.cos_bucket_name == null ? true : (length(var.cos_bucket_name) >= 3)
250+
error_message = "`cos_bucket_name` must be 3 or more characters long"
251+
}
252+
253+
validation {
254+
condition = var.cos_bucket_name == null ? true : (length(var.cos_bucket_name) <= 63)
255+
error_message = "`cos_bucket_name` must be 63 or less characters long"
256+
}
257+
258+
validation {
259+
condition = var.cos_bucket_name == null ? true : length(regexall("^[a-z0-9][a-z0-9-]+[a-z0-9]$", var.cos_bucket_name)) > 0
260+
error_message = "`cos_bucket_name` must match the following regex pattern: \"^[a-z0-9][a-z0-9]+[a-z0-9]$\""
261+
}
237262
}
238263

239264
variable "cos_bucket_access_tags" {

0 commit comments

Comments
 (0)