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.
As mentioned in the comments the JSON output for
terraform validate
was introduced in 0.12 and (according to git blame on the relevant LOC) the format has not changed since the introduction, so there should be no need to account for any such changes:hashicorp/terraform@9a004e3
I did briefly considered making
Severity
a custom type and add constants forerror
andwarning
(and whether other values there might be), but then I thought perhaps for compatibility reasons these structs should not be stricter than the actual implementation. That said I'm still not opposed to adding it.Supports hashicorp/terraform-exec#68
This PR also introduces
go-cmp
as a (test) dependency, which AFAIK is a library commonly used in the TF ecosystem and core. It can produce a human-readable output, just like spew, but even more readable as it displays diff, rather than two structs.I'd be happy to raise a follow-up PR to replace spew entirely with go-cmp throughout the codebase.