Avoid panic on attribute NilType
(nested attributes)
#44
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.
Marshalling a schema of the recently released
awscc
provider causespanic
due to the fact that it uses nested attributes, which in turn makes the "standard" AttributeType nil/NilType
which hits this line in cty:https://github.com/zclconf/go-cty/blob/e5d3f1507f80d88b60e58c4644f462636f400c98/cty/json.go#L85-L87
The relevant part of schema is here:
https://github.com/hashicorp/terraform-provider-awscc/blob/c4053aaf5aa3193cda725f79e20139ad6cdd73b2/internal/provider/provider.go#L118-L186
This panic was discovered in our LS CI tests:
https://github.com/hashicorp/terraform-ls/pull/659/checks#step:6:69
The solution loosely follows implementation in TF Core:
https://github.com/hashicorp/terraform/blob/0062e7112aac83304ea906f08c5aeb89b4ebfefa/internal/command/jsonprovider/attribute.go#L39-L54