Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Account for NestedType in static traversal validation #31532

Merged
merged 2 commits into from Aug 9, 2022

Conversation

jbardin
Copy link
Member

@jbardin jbardin commented Jul 27, 2022

There were a couple locations left which assumed that a schema Attribute type was only defined by the Type field, which would end up using an invalid cty.NilType when NestedType was defined. Add ImpliedType() to the Attribute type which checks for both Type and NestedType and use it in place of direct Type field references.

Leave the Object.ImpliedType method for now, since objchange does specifically split out the NestedType for validation of optional attributes.

Fixes #31527

@jbardin jbardin added the 1.2-backport If you add this label to a PR before merging, backport-assistant will open a new PR once merged label Jul 27, 2022
@jbardin jbardin requested a review from a team July 27, 2022 20:07
@jbardin jbardin self-assigned this Jul 27, 2022
@jbardin jbardin force-pushed the jbardin/static-validate-nested-types branch from 5e36d3a to b267e2d Compare July 27, 2022 20:09
@bflad
Copy link
Member

bflad commented Jul 28, 2022

We have some additional confirmation that this change resolves the configuration issue: hashicorp/terraform-plugin-framework#412 (comment) 😄

The StaticValidateTraversal code was not taking into account nested
structural types. Rather than create more special cases for checking
Type vs NestedType, we move the ImpliedType method up to the Attribute
to ensure both are used to generate the final type spec.
@jbardin jbardin merged commit 1a5e403 into main Aug 9, 2022
@jbardin jbardin deleted the jbardin/static-validate-nested-types branch August 9, 2022 15:08
@github-actions
Copy link

github-actions bot commented Aug 9, 2022

Reminder for the merging maintainer: if this is a user-visible change, please update the changelog on the appropriate release branch.

@github-actions
Copy link

github-actions bot commented Sep 9, 2022

I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active contributions.
If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 9, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
1.2-backport If you add this label to a PR before merging, backport-assistant will open a new PR once merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Unsupported Attribute Errors With Configuration References From Single Nested Attributes
4 participants