Change the match logic for computed jinja attributes #4925
Merged
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.
With the current code the computed attributes will only be executed if you mutate the node where that attribute is defined. This PR changes this behaviour so that we run the computed attribute update even when related nodes are updated.
Note once #4894 is merged I want to move the code looking directly in schema_branch._computed_jinja2_attribute_map so that all of that logic instead happens in the in the
ComputedAttributesclass from backend/infrahub/core/schema/schema_branch_computed.py introduced in that PR.Also as we're still looking at a node as a whole we can get away with using the same automation. But as I understand when we again introduce updates to specific fields I think we'll need to have multiple automations for this each with a unique match statement.