Feat/conditional resource eval #55
Merged
+304
−28
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
This PR introduces a new if condition feature within the resources section of the stackql_manifest.yml file. This enhancement allows users to specify Python expressions that determine whether a resource should be tested, provisioned, or deprovisioned based on runtime conditions.
Fixes #51
Checklist
Please make sure that the following criteria are met:
README.md
in the example project directory, which describes the stack and includes instructions to deploy or test.website/docs/template-library/..
which gets published to stackql-deploy.io (optional)Additional Notes
Testing Methodology
I tested the conditional resource evaluation feature using the following approach:
Test Environment Setup
test-derek-aws/stackql_manifest.yml
example_vpc_sit
with condition:'{{ stack_env }}' == 'sit'
example_vpc_dev
with condition:'{{ stack_env }}' == 'dev'
Test Cases
# Test in 'sit' environment - should only create example_vpc_sit stackql-deploy build test-derek-aws sit -e AWS_REGION=ap-southeast-2
And then, I made a second vpc
# Test in 'dev' environment - should only create example_vpc_dev stackql-deploy build test-derek-aws dev -e AWS_REGION=ap-southeast-2
Condition Syntax Validation
Resource Skipping Behavior
False
are properly skippedResults