coder / coder/terraform-provider-coder

Better validation blocks and errors

Open
#370 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
60
Forks
27
Avg merge
1d 21h
Merged PRs (30d)
2

Description

Today the coder terraform provider only allows 1 `validation` block. There is value if we allow more than one, as it allow tailoring the error message based on the condition.

```
data "coder_parameter" "favorite_number" {
name = "favorite_number"
display_name = "What is your favorite Number?"
description = "Please enter your favorite number."

validation {
min = 0
error = "The number {value} is less than 0, please select something greater."
}

validation {
max = 100
error = "The number {value} is greater than 100, please select something less."
}
}
```

This is exceptionally useful when `invalid` is added as an argument.
```
data "coder_parameter" "favorite_number" {
name = "favorite_number"
display_name = "What is your favorite Number?"
description = "Please enter your favorite number."

validation {
min = 0
error = "The number {value} is less than 0, please select something greater."
}

validation {
max = 100
error = "The number {value} is greater than 100, please select something less."
}

validation {
error = "That number is superstitious, avoid choosing 13"
invalid = data.coder_parameter.favorite_number.value == 13
}
```

**!However!** this is invalid because you get this error:
```
│ Error: Self-referential block

│ on main.tf line 21, in data "coder_parameter" "favorite_number":
│ 21: invalid = data.coder_parameter.favorite_number.value == 13
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.