fix: improve multi-step runtime validation [sc-19433] #288
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Affected Components
Pre-Requisites
terraform fmt
go fmt
plan
&apply
command ofdemo/main.tf
file do not produce diffsNotes for the Reviewer
Resolves #287
The Checkly TF Provider currently has validation to check that multi-step checks only use supported runtimes. This validation has a null-pointer-exception, though, since the
runtime_id
is an optional setting. To fix the error, this PR only validates the runtime ID if one is set.Before, the validation was only performed when creating a resource. This PR also performs the validation for updating a resource, since someone might change the runtime ID.
Currently the validation just checks that runtime ID set for the check, and ignores any that might be set on a group. Since a runtime ID set at the check level overrides any runtime ID set at the group level, this should work fine for the edge case where one runtime ID is set on the check and another is set on the group.
If no runtime ID is set on the check, then no validation is performed. To add validation in that case, we would need to add code to check the group's runtime ID and the account's default runtime ID. I think that we can skip that for now.