chore(terraform): hook into evaluateStep behavior with custom hooks #9
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.
Description
Let me know if I am missing some other means to make this work
evaluateStep handles many terraform semantics such as default values for 'variables'. A hook into these steps allows defining additional semantics, likely to mirror those of the actual provider implementation.
This must be done in
evaluateStep
, as things such asexpandBlocks
occur afterwards. Without this hook, theExpandBlock
must be called manually outside of the executor.Conversation
Calling
ExpandBlock
outside is ok, however I wonder if callingEvaluateStep
again is required in order to be correct.EvaluateSteps
is called here afterExpandBlocks
https://github.com/aquasecurity/trivy/blob/main/pkg/iac/scanners/terraform/parser/evaluator.go#L145
Hence why this hook was added. To place similar semantic code to variable defaults in the same spot.
Checklist