Implement data source filtering on string lists. #188
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.
Description
Previously, attempting to filter a data source on string lists (like the locations field) would silently fail. This change implements filtering on such fields by expanding
valuesLoop
. It's probably possible to make things a bit simpler by reworkingstructToMap
(and possibly more) if someone were to feel so inclined.For example, it is now possible to do:
...and the result would be, correctly, a single plan which depends on the existence of that plan at the Tokyo, Japan location. This makes it possible to depend on the existence of a specific plan, at a specific location, and a failure to find that plan will result in an earlier failure than if we had attempted to blindly create the resource. This also restores the ability to find resources without having to depend on directly referencing the ID, which is not always a meaningful value depending on the resource type.
Additionally, this will also make it possible to match against the new
sao
location (or future locations with special requirements) without having to know what custom ID suffix was given to it.Related Issues
Closes #184.
Checklist: